package de.thwildau.tm.moses.abnf.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import de.thwildau.tm.moses.abnf.services.AbnfGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalAbnfParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_NUM", "RULE_HEX", "RULE_ID", "RULE_STRING", "RULE_DIGIT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'/'", "'('", "')'", "'['", "']'", "'%b'", "'.'", "'-'", "'%d'", "'%x'", "'<'", "'>'", "'*'"
    };
    public static final int RULE_ID=6;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=11;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int RULE_SL_COMMENT=9;
    public static final int EOF=-1;
    public static final int RULE_NUM=4;
    public static final int T__19=19;
    public static final int RULE_STRING=7;
    public static final int RULE_HEX=5;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_WS=10;
    public static final int RULE_DIGIT=8;

    // delegates
    // delegators


        public InternalAbnfParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalAbnfParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalAbnfParser.tokenNames; }
    public String getGrammarFileName() { return "../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g"; }


     
     	private AbnfGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(AbnfGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleRuleSet"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:60:1: entryRuleRuleSet : ruleRuleSet EOF ;
    public final void entryRuleRuleSet() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:61:1: ( ruleRuleSet EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:62:1: ruleRuleSet EOF
            {
             before(grammarAccess.getRuleSetRule()); 
            pushFollow(FOLLOW_ruleRuleSet_in_entryRuleRuleSet61);
            ruleRuleSet();

            state._fsp--;

             after(grammarAccess.getRuleSetRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRuleSet68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRuleSet"


    // $ANTLR start "ruleRuleSet"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:69:1: ruleRuleSet : ( ( ( rule__RuleSet__RulesAssignment ) ) ( ( rule__RuleSet__RulesAssignment )* ) ) ;
    public final void ruleRuleSet() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:73:2: ( ( ( ( rule__RuleSet__RulesAssignment ) ) ( ( rule__RuleSet__RulesAssignment )* ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:74:1: ( ( ( rule__RuleSet__RulesAssignment ) ) ( ( rule__RuleSet__RulesAssignment )* ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:74:1: ( ( ( rule__RuleSet__RulesAssignment ) ) ( ( rule__RuleSet__RulesAssignment )* ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:75:1: ( ( rule__RuleSet__RulesAssignment ) ) ( ( rule__RuleSet__RulesAssignment )* )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:75:1: ( ( rule__RuleSet__RulesAssignment ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:76:1: ( rule__RuleSet__RulesAssignment )
            {
             before(grammarAccess.getRuleSetAccess().getRulesAssignment()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:77:1: ( rule__RuleSet__RulesAssignment )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:77:2: rule__RuleSet__RulesAssignment
            {
            pushFollow(FOLLOW_rule__RuleSet__RulesAssignment_in_ruleRuleSet96);
            rule__RuleSet__RulesAssignment();

            state._fsp--;


            }

             after(grammarAccess.getRuleSetAccess().getRulesAssignment()); 

            }

            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:80:1: ( ( rule__RuleSet__RulesAssignment )* )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:81:1: ( rule__RuleSet__RulesAssignment )*
            {
             before(grammarAccess.getRuleSetAccess().getRulesAssignment()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:82:1: ( rule__RuleSet__RulesAssignment )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==RULE_ID) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:82:2: rule__RuleSet__RulesAssignment
            	    {
            	    pushFollow(FOLLOW_rule__RuleSet__RulesAssignment_in_ruleRuleSet108);
            	    rule__RuleSet__RulesAssignment();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

             after(grammarAccess.getRuleSetAccess().getRulesAssignment()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRuleSet"


    // $ANTLR start "entryRuleRule"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:95:1: entryRuleRule : ruleRule EOF ;
    public final void entryRuleRule() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:96:1: ( ruleRule EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:97:1: ruleRule EOF
            {
             before(grammarAccess.getRuleRule()); 
            pushFollow(FOLLOW_ruleRule_in_entryRuleRule138);
            ruleRule();

            state._fsp--;

             after(grammarAccess.getRuleRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRule145); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRule"


    // $ANTLR start "ruleRule"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:104:1: ruleRule : ( ( rule__Rule__Group__0 ) ) ;
    public final void ruleRule() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:108:2: ( ( ( rule__Rule__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:109:1: ( ( rule__Rule__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:109:1: ( ( rule__Rule__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:110:1: ( rule__Rule__Group__0 )
            {
             before(grammarAccess.getRuleAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:111:1: ( rule__Rule__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:111:2: rule__Rule__Group__0
            {
            pushFollow(FOLLOW_rule__Rule__Group__0_in_ruleRule171);
            rule__Rule__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRuleAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRule"


    // $ANTLR start "entryRuleAlternation"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:123:1: entryRuleAlternation : ruleAlternation EOF ;
    public final void entryRuleAlternation() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:124:1: ( ruleAlternation EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:125:1: ruleAlternation EOF
            {
             before(grammarAccess.getAlternationRule()); 
            pushFollow(FOLLOW_ruleAlternation_in_entryRuleAlternation198);
            ruleAlternation();

            state._fsp--;

             after(grammarAccess.getAlternationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAlternation205); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAlternation"


    // $ANTLR start "ruleAlternation"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:132:1: ruleAlternation : ( ( rule__Alternation__Group__0 ) ) ;
    public final void ruleAlternation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:136:2: ( ( ( rule__Alternation__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:137:1: ( ( rule__Alternation__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:137:1: ( ( rule__Alternation__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:138:1: ( rule__Alternation__Group__0 )
            {
             before(grammarAccess.getAlternationAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:139:1: ( rule__Alternation__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:139:2: rule__Alternation__Group__0
            {
            pushFollow(FOLLOW_rule__Alternation__Group__0_in_ruleAlternation231);
            rule__Alternation__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAlternationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAlternation"


    // $ANTLR start "entryRuleConcatenation"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:151:1: entryRuleConcatenation : ruleConcatenation EOF ;
    public final void entryRuleConcatenation() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:152:1: ( ruleConcatenation EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:153:1: ruleConcatenation EOF
            {
             before(grammarAccess.getConcatenationRule()); 
            pushFollow(FOLLOW_ruleConcatenation_in_entryRuleConcatenation258);
            ruleConcatenation();

            state._fsp--;

             after(grammarAccess.getConcatenationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleConcatenation265); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleConcatenation"


    // $ANTLR start "ruleConcatenation"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:160:1: ruleConcatenation : ( ( ( rule__Concatenation__RepetitionsAssignment ) ) ( ( rule__Concatenation__RepetitionsAssignment )* ) ) ;
    public final void ruleConcatenation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:164:2: ( ( ( ( rule__Concatenation__RepetitionsAssignment ) ) ( ( rule__Concatenation__RepetitionsAssignment )* ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:165:1: ( ( ( rule__Concatenation__RepetitionsAssignment ) ) ( ( rule__Concatenation__RepetitionsAssignment )* ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:165:1: ( ( ( rule__Concatenation__RepetitionsAssignment ) ) ( ( rule__Concatenation__RepetitionsAssignment )* ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:166:1: ( ( rule__Concatenation__RepetitionsAssignment ) ) ( ( rule__Concatenation__RepetitionsAssignment )* )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:166:1: ( ( rule__Concatenation__RepetitionsAssignment ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:167:1: ( rule__Concatenation__RepetitionsAssignment )
            {
             before(grammarAccess.getConcatenationAccess().getRepetitionsAssignment()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:168:1: ( rule__Concatenation__RepetitionsAssignment )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:168:2: rule__Concatenation__RepetitionsAssignment
            {
            pushFollow(FOLLOW_rule__Concatenation__RepetitionsAssignment_in_ruleConcatenation293);
            rule__Concatenation__RepetitionsAssignment();

            state._fsp--;


            }

             after(grammarAccess.getConcatenationAccess().getRepetitionsAssignment()); 

            }

            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:171:1: ( ( rule__Concatenation__RepetitionsAssignment )* )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:172:1: ( rule__Concatenation__RepetitionsAssignment )*
            {
             before(grammarAccess.getConcatenationAccess().getRepetitionsAssignment()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:173:1: ( rule__Concatenation__RepetitionsAssignment )*
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( (LA2_0==RULE_ID) ) {
                    int LA2_2 = input.LA(2);

                    if ( (LA2_2==EOF||LA2_2==RULE_NUM||(LA2_2>=RULE_ID && LA2_2<=RULE_STRING)||(LA2_2>=13 && LA2_2<=18)||(LA2_2>=21 && LA2_2<=23)||LA2_2==25) ) {
                        alt2=1;
                    }


                }
                else if ( (LA2_0==RULE_NUM||LA2_0==RULE_STRING||LA2_0==14||LA2_0==16||LA2_0==18||(LA2_0>=21 && LA2_0<=23)||LA2_0==25) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:173:2: rule__Concatenation__RepetitionsAssignment
            	    {
            	    pushFollow(FOLLOW_rule__Concatenation__RepetitionsAssignment_in_ruleConcatenation305);
            	    rule__Concatenation__RepetitionsAssignment();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);

             after(grammarAccess.getConcatenationAccess().getRepetitionsAssignment()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleConcatenation"


    // $ANTLR start "entryRuleRepetition"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:186:1: entryRuleRepetition : ruleRepetition EOF ;
    public final void entryRuleRepetition() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:187:1: ( ruleRepetition EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:188:1: ruleRepetition EOF
            {
             before(grammarAccess.getRepetitionRule()); 
            pushFollow(FOLLOW_ruleRepetition_in_entryRuleRepetition335);
            ruleRepetition();

            state._fsp--;

             after(grammarAccess.getRepetitionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRepetition342); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRepetition"


    // $ANTLR start "ruleRepetition"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:195:1: ruleRepetition : ( ( rule__Repetition__Group__0 ) ) ;
    public final void ruleRepetition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:199:2: ( ( ( rule__Repetition__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:200:1: ( ( rule__Repetition__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:200:1: ( ( rule__Repetition__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:201:1: ( rule__Repetition__Group__0 )
            {
             before(grammarAccess.getRepetitionAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:202:1: ( rule__Repetition__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:202:2: rule__Repetition__Group__0
            {
            pushFollow(FOLLOW_rule__Repetition__Group__0_in_ruleRepetition368);
            rule__Repetition__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRepetitionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRepetition"


    // $ANTLR start "entryRuleElement"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:214:1: entryRuleElement : ruleElement EOF ;
    public final void entryRuleElement() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:215:1: ( ruleElement EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:216:1: ruleElement EOF
            {
             before(grammarAccess.getElementRule()); 
            pushFollow(FOLLOW_ruleElement_in_entryRuleElement395);
            ruleElement();

            state._fsp--;

             after(grammarAccess.getElementRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleElement402); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleElement"


    // $ANTLR start "ruleElement"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:223:1: ruleElement : ( ( rule__Element__Alternatives ) ) ;
    public final void ruleElement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:227:2: ( ( ( rule__Element__Alternatives ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:228:1: ( ( rule__Element__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:228:1: ( ( rule__Element__Alternatives ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:229:1: ( rule__Element__Alternatives )
            {
             before(grammarAccess.getElementAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:230:1: ( rule__Element__Alternatives )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:230:2: rule__Element__Alternatives
            {
            pushFollow(FOLLOW_rule__Element__Alternatives_in_ruleElement428);
            rule__Element__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getElementAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleElement"


    // $ANTLR start "entryRuleRuleRef"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:242:1: entryRuleRuleRef : ruleRuleRef EOF ;
    public final void entryRuleRuleRef() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:243:1: ( ruleRuleRef EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:244:1: ruleRuleRef EOF
            {
             before(grammarAccess.getRuleRefRule()); 
            pushFollow(FOLLOW_ruleRuleRef_in_entryRuleRuleRef455);
            ruleRuleRef();

            state._fsp--;

             after(grammarAccess.getRuleRefRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRuleRef462); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRuleRef"


    // $ANTLR start "ruleRuleRef"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:251:1: ruleRuleRef : ( ( rule__RuleRef__RuleAssignment ) ) ;
    public final void ruleRuleRef() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:255:2: ( ( ( rule__RuleRef__RuleAssignment ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:256:1: ( ( rule__RuleRef__RuleAssignment ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:256:1: ( ( rule__RuleRef__RuleAssignment ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:257:1: ( rule__RuleRef__RuleAssignment )
            {
             before(grammarAccess.getRuleRefAccess().getRuleAssignment()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:258:1: ( rule__RuleRef__RuleAssignment )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:258:2: rule__RuleRef__RuleAssignment
            {
            pushFollow(FOLLOW_rule__RuleRef__RuleAssignment_in_ruleRuleRef488);
            rule__RuleRef__RuleAssignment();

            state._fsp--;


            }

             after(grammarAccess.getRuleRefAccess().getRuleAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRuleRef"


    // $ANTLR start "entryRuleGroup"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:270:1: entryRuleGroup : ruleGroup EOF ;
    public final void entryRuleGroup() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:271:1: ( ruleGroup EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:272:1: ruleGroup EOF
            {
             before(grammarAccess.getGroupRule()); 
            pushFollow(FOLLOW_ruleGroup_in_entryRuleGroup515);
            ruleGroup();

            state._fsp--;

             after(grammarAccess.getGroupRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleGroup522); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleGroup"


    // $ANTLR start "ruleGroup"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:279:1: ruleGroup : ( ( rule__Group__Group__0 ) ) ;
    public final void ruleGroup() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:283:2: ( ( ( rule__Group__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:284:1: ( ( rule__Group__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:284:1: ( ( rule__Group__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:285:1: ( rule__Group__Group__0 )
            {
             before(grammarAccess.getGroupAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:286:1: ( rule__Group__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:286:2: rule__Group__Group__0
            {
            pushFollow(FOLLOW_rule__Group__Group__0_in_ruleGroup548);
            rule__Group__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getGroupAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleGroup"


    // $ANTLR start "entryRuleOption"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:298:1: entryRuleOption : ruleOption EOF ;
    public final void entryRuleOption() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:299:1: ( ruleOption EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:300:1: ruleOption EOF
            {
             before(grammarAccess.getOptionRule()); 
            pushFollow(FOLLOW_ruleOption_in_entryRuleOption575);
            ruleOption();

            state._fsp--;

             after(grammarAccess.getOptionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleOption582); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleOption"


    // $ANTLR start "ruleOption"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:307:1: ruleOption : ( ( rule__Option__Group__0 ) ) ;
    public final void ruleOption() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:311:2: ( ( ( rule__Option__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:312:1: ( ( rule__Option__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:312:1: ( ( rule__Option__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:313:1: ( rule__Option__Group__0 )
            {
             before(grammarAccess.getOptionAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:314:1: ( rule__Option__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:314:2: rule__Option__Group__0
            {
            pushFollow(FOLLOW_rule__Option__Group__0_in_ruleOption608);
            rule__Option__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getOptionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleOption"


    // $ANTLR start "entryRuleCharVal"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:326:1: entryRuleCharVal : ruleCharVal EOF ;
    public final void entryRuleCharVal() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:327:1: ( ruleCharVal EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:328:1: ruleCharVal EOF
            {
             before(grammarAccess.getCharValRule()); 
            pushFollow(FOLLOW_ruleCharVal_in_entryRuleCharVal635);
            ruleCharVal();

            state._fsp--;

             after(grammarAccess.getCharValRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCharVal642); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCharVal"


    // $ANTLR start "ruleCharVal"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:335:1: ruleCharVal : ( ( rule__CharVal__ValueAssignment ) ) ;
    public final void ruleCharVal() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:339:2: ( ( ( rule__CharVal__ValueAssignment ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:340:1: ( ( rule__CharVal__ValueAssignment ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:340:1: ( ( rule__CharVal__ValueAssignment ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:341:1: ( rule__CharVal__ValueAssignment )
            {
             before(grammarAccess.getCharValAccess().getValueAssignment()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:342:1: ( rule__CharVal__ValueAssignment )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:342:2: rule__CharVal__ValueAssignment
            {
            pushFollow(FOLLOW_rule__CharVal__ValueAssignment_in_ruleCharVal668);
            rule__CharVal__ValueAssignment();

            state._fsp--;


            }

             after(grammarAccess.getCharValAccess().getValueAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCharVal"


    // $ANTLR start "entryRuleNumVal"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:354:1: entryRuleNumVal : ruleNumVal EOF ;
    public final void entryRuleNumVal() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:355:1: ( ruleNumVal EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:356:1: ruleNumVal EOF
            {
             before(grammarAccess.getNumValRule()); 
            pushFollow(FOLLOW_ruleNumVal_in_entryRuleNumVal695);
            ruleNumVal();

            state._fsp--;

             after(grammarAccess.getNumValRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNumVal702); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleNumVal"


    // $ANTLR start "ruleNumVal"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:363:1: ruleNumVal : ( ( rule__NumVal__Alternatives ) ) ;
    public final void ruleNumVal() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:367:2: ( ( ( rule__NumVal__Alternatives ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:368:1: ( ( rule__NumVal__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:368:1: ( ( rule__NumVal__Alternatives ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:369:1: ( rule__NumVal__Alternatives )
            {
             before(grammarAccess.getNumValAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:370:1: ( rule__NumVal__Alternatives )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:370:2: rule__NumVal__Alternatives
            {
            pushFollow(FOLLOW_rule__NumVal__Alternatives_in_ruleNumVal728);
            rule__NumVal__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getNumValAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNumVal"


    // $ANTLR start "entryRuleBinVal"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:382:1: entryRuleBinVal : ruleBinVal EOF ;
    public final void entryRuleBinVal() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:383:1: ( ruleBinVal EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:384:1: ruleBinVal EOF
            {
             before(grammarAccess.getBinValRule()); 
            pushFollow(FOLLOW_ruleBinVal_in_entryRuleBinVal755);
            ruleBinVal();

            state._fsp--;

             after(grammarAccess.getBinValRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBinVal762); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBinVal"


    // $ANTLR start "ruleBinVal"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:391:1: ruleBinVal : ( ( rule__BinVal__Group__0 ) ) ;
    public final void ruleBinVal() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:395:2: ( ( ( rule__BinVal__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:396:1: ( ( rule__BinVal__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:396:1: ( ( rule__BinVal__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:397:1: ( rule__BinVal__Group__0 )
            {
             before(grammarAccess.getBinValAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:398:1: ( rule__BinVal__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:398:2: rule__BinVal__Group__0
            {
            pushFollow(FOLLOW_rule__BinVal__Group__0_in_ruleBinVal788);
            rule__BinVal__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getBinValAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBinVal"


    // $ANTLR start "entryRuleDecVal"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:410:1: entryRuleDecVal : ruleDecVal EOF ;
    public final void entryRuleDecVal() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:411:1: ( ruleDecVal EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:412:1: ruleDecVal EOF
            {
             before(grammarAccess.getDecValRule()); 
            pushFollow(FOLLOW_ruleDecVal_in_entryRuleDecVal815);
            ruleDecVal();

            state._fsp--;

             after(grammarAccess.getDecValRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDecVal822); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDecVal"


    // $ANTLR start "ruleDecVal"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:419:1: ruleDecVal : ( ( rule__DecVal__Group__0 ) ) ;
    public final void ruleDecVal() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:423:2: ( ( ( rule__DecVal__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:424:1: ( ( rule__DecVal__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:424:1: ( ( rule__DecVal__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:425:1: ( rule__DecVal__Group__0 )
            {
             before(grammarAccess.getDecValAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:426:1: ( rule__DecVal__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:426:2: rule__DecVal__Group__0
            {
            pushFollow(FOLLOW_rule__DecVal__Group__0_in_ruleDecVal848);
            rule__DecVal__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getDecValAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDecVal"


    // $ANTLR start "entryRuleHexVal"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:438:1: entryRuleHexVal : ruleHexVal EOF ;
    public final void entryRuleHexVal() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:439:1: ( ruleHexVal EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:440:1: ruleHexVal EOF
            {
             before(grammarAccess.getHexValRule()); 
            pushFollow(FOLLOW_ruleHexVal_in_entryRuleHexVal875);
            ruleHexVal();

            state._fsp--;

             after(grammarAccess.getHexValRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleHexVal882); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleHexVal"


    // $ANTLR start "ruleHexVal"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:447:1: ruleHexVal : ( ( rule__HexVal__Group__0 ) ) ;
    public final void ruleHexVal() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:451:2: ( ( ( rule__HexVal__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:452:1: ( ( rule__HexVal__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:452:1: ( ( rule__HexVal__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:453:1: ( rule__HexVal__Group__0 )
            {
             before(grammarAccess.getHexValAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:454:1: ( rule__HexVal__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:454:2: rule__HexVal__Group__0
            {
            pushFollow(FOLLOW_rule__HexVal__Group__0_in_ruleHexVal908);
            rule__HexVal__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getHexValAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleHexVal"


    // $ANTLR start "entryRuleProseVal"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:466:1: entryRuleProseVal : ruleProseVal EOF ;
    public final void entryRuleProseVal() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:467:1: ( ruleProseVal EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:468:1: ruleProseVal EOF
            {
             before(grammarAccess.getProseValRule()); 
            pushFollow(FOLLOW_ruleProseVal_in_entryRuleProseVal935);
            ruleProseVal();

            state._fsp--;

             after(grammarAccess.getProseValRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleProseVal942); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleProseVal"


    // $ANTLR start "ruleProseVal"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:475:1: ruleProseVal : ( ( rule__ProseVal__Group__0 ) ) ;
    public final void ruleProseVal() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:479:2: ( ( ( rule__ProseVal__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:480:1: ( ( rule__ProseVal__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:480:1: ( ( rule__ProseVal__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:481:1: ( rule__ProseVal__Group__0 )
            {
             before(grammarAccess.getProseValAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:482:1: ( rule__ProseVal__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:482:2: rule__ProseVal__Group__0
            {
            pushFollow(FOLLOW_rule__ProseVal__Group__0_in_ruleProseVal968);
            rule__ProseVal__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getProseValAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleProseVal"


    // $ANTLR start "entryRuleRepeat"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:494:1: entryRuleRepeat : ruleRepeat EOF ;
    public final void entryRuleRepeat() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:495:1: ( ruleRepeat EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:496:1: ruleRepeat EOF
            {
             before(grammarAccess.getRepeatRule()); 
            pushFollow(FOLLOW_ruleRepeat_in_entryRuleRepeat995);
            ruleRepeat();

            state._fsp--;

             after(grammarAccess.getRepeatRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRepeat1002); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRepeat"


    // $ANTLR start "ruleRepeat"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:503:1: ruleRepeat : ( ( rule__Repeat__Group__0 ) ) ;
    public final void ruleRepeat() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:507:2: ( ( ( rule__Repeat__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:508:1: ( ( rule__Repeat__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:508:1: ( ( rule__Repeat__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:509:1: ( rule__Repeat__Group__0 )
            {
             before(grammarAccess.getRepeatAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:510:1: ( rule__Repeat__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:510:2: rule__Repeat__Group__0
            {
            pushFollow(FOLLOW_rule__Repeat__Group__0_in_ruleRepeat1028);
            rule__Repeat__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRepeatAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRepeat"


    // $ANTLR start "rule__Element__Alternatives"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:522:1: rule__Element__Alternatives : ( ( ruleGroup ) | ( ruleOption ) | ( ruleRuleRef ) | ( ruleCharVal ) | ( ruleNumVal ) | ( ruleProseVal ) );
    public final void rule__Element__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:526:1: ( ( ruleGroup ) | ( ruleOption ) | ( ruleRuleRef ) | ( ruleCharVal ) | ( ruleNumVal ) | ( ruleProseVal ) )
            int alt3=6;
            switch ( input.LA(1) ) {
            case 14:
                {
                alt3=1;
                }
                break;
            case 16:
                {
                alt3=2;
                }
                break;
            case RULE_ID:
                {
                alt3=3;
                }
                break;
            case RULE_STRING:
                {
                alt3=4;
                }
                break;
            case 18:
            case 21:
            case 22:
                {
                alt3=5;
                }
                break;
            case 23:
                {
                alt3=6;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }

            switch (alt3) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:527:1: ( ruleGroup )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:527:1: ( ruleGroup )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:528:1: ruleGroup
                    {
                     before(grammarAccess.getElementAccess().getGroupParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleGroup_in_rule__Element__Alternatives1064);
                    ruleGroup();

                    state._fsp--;

                     after(grammarAccess.getElementAccess().getGroupParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:533:6: ( ruleOption )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:533:6: ( ruleOption )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:534:1: ruleOption
                    {
                     before(grammarAccess.getElementAccess().getOptionParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleOption_in_rule__Element__Alternatives1081);
                    ruleOption();

                    state._fsp--;

                     after(grammarAccess.getElementAccess().getOptionParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:539:6: ( ruleRuleRef )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:539:6: ( ruleRuleRef )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:540:1: ruleRuleRef
                    {
                     before(grammarAccess.getElementAccess().getRuleRefParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleRuleRef_in_rule__Element__Alternatives1098);
                    ruleRuleRef();

                    state._fsp--;

                     after(grammarAccess.getElementAccess().getRuleRefParserRuleCall_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:545:6: ( ruleCharVal )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:545:6: ( ruleCharVal )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:546:1: ruleCharVal
                    {
                     before(grammarAccess.getElementAccess().getCharValParserRuleCall_3()); 
                    pushFollow(FOLLOW_ruleCharVal_in_rule__Element__Alternatives1115);
                    ruleCharVal();

                    state._fsp--;

                     after(grammarAccess.getElementAccess().getCharValParserRuleCall_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:551:6: ( ruleNumVal )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:551:6: ( ruleNumVal )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:552:1: ruleNumVal
                    {
                     before(grammarAccess.getElementAccess().getNumValParserRuleCall_4()); 
                    pushFollow(FOLLOW_ruleNumVal_in_rule__Element__Alternatives1132);
                    ruleNumVal();

                    state._fsp--;

                     after(grammarAccess.getElementAccess().getNumValParserRuleCall_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:557:6: ( ruleProseVal )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:557:6: ( ruleProseVal )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:558:1: ruleProseVal
                    {
                     before(grammarAccess.getElementAccess().getProseValParserRuleCall_5()); 
                    pushFollow(FOLLOW_ruleProseVal_in_rule__Element__Alternatives1149);
                    ruleProseVal();

                    state._fsp--;

                     after(grammarAccess.getElementAccess().getProseValParserRuleCall_5()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Element__Alternatives"


    // $ANTLR start "rule__NumVal__Alternatives"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:568:1: rule__NumVal__Alternatives : ( ( ruleBinVal ) | ( ruleDecVal ) | ( ruleHexVal ) );
    public final void rule__NumVal__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:572:1: ( ( ruleBinVal ) | ( ruleDecVal ) | ( ruleHexVal ) )
            int alt4=3;
            switch ( input.LA(1) ) {
            case 18:
                {
                alt4=1;
                }
                break;
            case 21:
                {
                alt4=2;
                }
                break;
            case 22:
                {
                alt4=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;
            }

            switch (alt4) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:573:1: ( ruleBinVal )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:573:1: ( ruleBinVal )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:574:1: ruleBinVal
                    {
                     before(grammarAccess.getNumValAccess().getBinValParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleBinVal_in_rule__NumVal__Alternatives1181);
                    ruleBinVal();

                    state._fsp--;

                     after(grammarAccess.getNumValAccess().getBinValParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:579:6: ( ruleDecVal )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:579:6: ( ruleDecVal )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:580:1: ruleDecVal
                    {
                     before(grammarAccess.getNumValAccess().getDecValParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleDecVal_in_rule__NumVal__Alternatives1198);
                    ruleDecVal();

                    state._fsp--;

                     after(grammarAccess.getNumValAccess().getDecValParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:585:6: ( ruleHexVal )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:585:6: ( ruleHexVal )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:586:1: ruleHexVal
                    {
                     before(grammarAccess.getNumValAccess().getHexValParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleHexVal_in_rule__NumVal__Alternatives1215);
                    ruleHexVal();

                    state._fsp--;

                     after(grammarAccess.getNumValAccess().getHexValParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__NumVal__Alternatives"


    // $ANTLR start "rule__BinVal__Alternatives_2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:596:1: rule__BinVal__Alternatives_2 : ( ( ( ( rule__BinVal__Group_2_0__0 ) ) ( ( rule__BinVal__Group_2_0__0 )* ) ) | ( ( rule__BinVal__Group_2_1__0 ) ) );
    public final void rule__BinVal__Alternatives_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:600:1: ( ( ( ( rule__BinVal__Group_2_0__0 ) ) ( ( rule__BinVal__Group_2_0__0 )* ) ) | ( ( rule__BinVal__Group_2_1__0 ) ) )
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==19) ) {
                alt6=1;
            }
            else if ( (LA6_0==20) ) {
                alt6=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;
            }
            switch (alt6) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:601:1: ( ( ( rule__BinVal__Group_2_0__0 ) ) ( ( rule__BinVal__Group_2_0__0 )* ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:601:1: ( ( ( rule__BinVal__Group_2_0__0 ) ) ( ( rule__BinVal__Group_2_0__0 )* ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:602:1: ( ( rule__BinVal__Group_2_0__0 ) ) ( ( rule__BinVal__Group_2_0__0 )* )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:602:1: ( ( rule__BinVal__Group_2_0__0 ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:603:1: ( rule__BinVal__Group_2_0__0 )
                    {
                     before(grammarAccess.getBinValAccess().getGroup_2_0()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:604:1: ( rule__BinVal__Group_2_0__0 )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:604:2: rule__BinVal__Group_2_0__0
                    {
                    pushFollow(FOLLOW_rule__BinVal__Group_2_0__0_in_rule__BinVal__Alternatives_21249);
                    rule__BinVal__Group_2_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getBinValAccess().getGroup_2_0()); 

                    }

                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:607:1: ( ( rule__BinVal__Group_2_0__0 )* )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:608:1: ( rule__BinVal__Group_2_0__0 )*
                    {
                     before(grammarAccess.getBinValAccess().getGroup_2_0()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:609:1: ( rule__BinVal__Group_2_0__0 )*
                    loop5:
                    do {
                        int alt5=2;
                        int LA5_0 = input.LA(1);

                        if ( (LA5_0==19) ) {
                            alt5=1;
                        }


                        switch (alt5) {
                    	case 1 :
                    	    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:609:2: rule__BinVal__Group_2_0__0
                    	    {
                    	    pushFollow(FOLLOW_rule__BinVal__Group_2_0__0_in_rule__BinVal__Alternatives_21261);
                    	    rule__BinVal__Group_2_0__0();

                    	    state._fsp--;


                    	    }
                    	    break;

                    	default :
                    	    break loop5;
                        }
                    } while (true);

                     after(grammarAccess.getBinValAccess().getGroup_2_0()); 

                    }


                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:614:6: ( ( rule__BinVal__Group_2_1__0 ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:614:6: ( ( rule__BinVal__Group_2_1__0 ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:615:1: ( rule__BinVal__Group_2_1__0 )
                    {
                     before(grammarAccess.getBinValAccess().getGroup_2_1()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:616:1: ( rule__BinVal__Group_2_1__0 )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:616:2: rule__BinVal__Group_2_1__0
                    {
                    pushFollow(FOLLOW_rule__BinVal__Group_2_1__0_in_rule__BinVal__Alternatives_21282);
                    rule__BinVal__Group_2_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getBinValAccess().getGroup_2_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Alternatives_2"


    // $ANTLR start "rule__DecVal__Alternatives_2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:625:1: rule__DecVal__Alternatives_2 : ( ( ( ( rule__DecVal__Group_2_0__0 ) ) ( ( rule__DecVal__Group_2_0__0 )* ) ) | ( ( rule__DecVal__Group_2_1__0 ) ) );
    public final void rule__DecVal__Alternatives_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:629:1: ( ( ( ( rule__DecVal__Group_2_0__0 ) ) ( ( rule__DecVal__Group_2_0__0 )* ) ) | ( ( rule__DecVal__Group_2_1__0 ) ) )
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==19) ) {
                alt8=1;
            }
            else if ( (LA8_0==20) ) {
                alt8=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 8, 0, input);

                throw nvae;
            }
            switch (alt8) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:630:1: ( ( ( rule__DecVal__Group_2_0__0 ) ) ( ( rule__DecVal__Group_2_0__0 )* ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:630:1: ( ( ( rule__DecVal__Group_2_0__0 ) ) ( ( rule__DecVal__Group_2_0__0 )* ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:631:1: ( ( rule__DecVal__Group_2_0__0 ) ) ( ( rule__DecVal__Group_2_0__0 )* )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:631:1: ( ( rule__DecVal__Group_2_0__0 ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:632:1: ( rule__DecVal__Group_2_0__0 )
                    {
                     before(grammarAccess.getDecValAccess().getGroup_2_0()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:633:1: ( rule__DecVal__Group_2_0__0 )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:633:2: rule__DecVal__Group_2_0__0
                    {
                    pushFollow(FOLLOW_rule__DecVal__Group_2_0__0_in_rule__DecVal__Alternatives_21317);
                    rule__DecVal__Group_2_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getDecValAccess().getGroup_2_0()); 

                    }

                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:636:1: ( ( rule__DecVal__Group_2_0__0 )* )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:637:1: ( rule__DecVal__Group_2_0__0 )*
                    {
                     before(grammarAccess.getDecValAccess().getGroup_2_0()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:638:1: ( rule__DecVal__Group_2_0__0 )*
                    loop7:
                    do {
                        int alt7=2;
                        int LA7_0 = input.LA(1);

                        if ( (LA7_0==19) ) {
                            alt7=1;
                        }


                        switch (alt7) {
                    	case 1 :
                    	    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:638:2: rule__DecVal__Group_2_0__0
                    	    {
                    	    pushFollow(FOLLOW_rule__DecVal__Group_2_0__0_in_rule__DecVal__Alternatives_21329);
                    	    rule__DecVal__Group_2_0__0();

                    	    state._fsp--;


                    	    }
                    	    break;

                    	default :
                    	    break loop7;
                        }
                    } while (true);

                     after(grammarAccess.getDecValAccess().getGroup_2_0()); 

                    }


                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:643:6: ( ( rule__DecVal__Group_2_1__0 ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:643:6: ( ( rule__DecVal__Group_2_1__0 ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:644:1: ( rule__DecVal__Group_2_1__0 )
                    {
                     before(grammarAccess.getDecValAccess().getGroup_2_1()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:645:1: ( rule__DecVal__Group_2_1__0 )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:645:2: rule__DecVal__Group_2_1__0
                    {
                    pushFollow(FOLLOW_rule__DecVal__Group_2_1__0_in_rule__DecVal__Alternatives_21350);
                    rule__DecVal__Group_2_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getDecValAccess().getGroup_2_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Alternatives_2"


    // $ANTLR start "rule__HexVal__ValueAlternatives_1_0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:654:1: rule__HexVal__ValueAlternatives_1_0 : ( ( RULE_NUM ) | ( RULE_HEX ) );
    public final void rule__HexVal__ValueAlternatives_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:658:1: ( ( RULE_NUM ) | ( RULE_HEX ) )
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==RULE_NUM) ) {
                alt9=1;
            }
            else if ( (LA9_0==RULE_HEX) ) {
                alt9=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);

                throw nvae;
            }
            switch (alt9) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:659:1: ( RULE_NUM )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:659:1: ( RULE_NUM )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:660:1: RULE_NUM
                    {
                     before(grammarAccess.getHexValAccess().getValueNUMTerminalRuleCall_1_0_0()); 
                    match(input,RULE_NUM,FOLLOW_RULE_NUM_in_rule__HexVal__ValueAlternatives_1_01383); 
                     after(grammarAccess.getHexValAccess().getValueNUMTerminalRuleCall_1_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:665:6: ( RULE_HEX )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:665:6: ( RULE_HEX )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:666:1: RULE_HEX
                    {
                     before(grammarAccess.getHexValAccess().getValueHEXTerminalRuleCall_1_0_1()); 
                    match(input,RULE_HEX,FOLLOW_RULE_HEX_in_rule__HexVal__ValueAlternatives_1_01400); 
                     after(grammarAccess.getHexValAccess().getValueHEXTerminalRuleCall_1_0_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__ValueAlternatives_1_0"


    // $ANTLR start "rule__HexVal__Alternatives_2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:676:1: rule__HexVal__Alternatives_2 : ( ( ( ( rule__HexVal__Group_2_0__0 ) ) ( ( rule__HexVal__Group_2_0__0 )* ) ) | ( ( rule__HexVal__Group_2_1__0 ) ) );
    public final void rule__HexVal__Alternatives_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:680:1: ( ( ( ( rule__HexVal__Group_2_0__0 ) ) ( ( rule__HexVal__Group_2_0__0 )* ) ) | ( ( rule__HexVal__Group_2_1__0 ) ) )
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==19) ) {
                alt11=1;
            }
            else if ( (LA11_0==20) ) {
                alt11=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;
            }
            switch (alt11) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:681:1: ( ( ( rule__HexVal__Group_2_0__0 ) ) ( ( rule__HexVal__Group_2_0__0 )* ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:681:1: ( ( ( rule__HexVal__Group_2_0__0 ) ) ( ( rule__HexVal__Group_2_0__0 )* ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:682:1: ( ( rule__HexVal__Group_2_0__0 ) ) ( ( rule__HexVal__Group_2_0__0 )* )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:682:1: ( ( rule__HexVal__Group_2_0__0 ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:683:1: ( rule__HexVal__Group_2_0__0 )
                    {
                     before(grammarAccess.getHexValAccess().getGroup_2_0()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:684:1: ( rule__HexVal__Group_2_0__0 )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:684:2: rule__HexVal__Group_2_0__0
                    {
                    pushFollow(FOLLOW_rule__HexVal__Group_2_0__0_in_rule__HexVal__Alternatives_21434);
                    rule__HexVal__Group_2_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getHexValAccess().getGroup_2_0()); 

                    }

                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:687:1: ( ( rule__HexVal__Group_2_0__0 )* )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:688:1: ( rule__HexVal__Group_2_0__0 )*
                    {
                     before(grammarAccess.getHexValAccess().getGroup_2_0()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:689:1: ( rule__HexVal__Group_2_0__0 )*
                    loop10:
                    do {
                        int alt10=2;
                        int LA10_0 = input.LA(1);

                        if ( (LA10_0==19) ) {
                            alt10=1;
                        }


                        switch (alt10) {
                    	case 1 :
                    	    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:689:2: rule__HexVal__Group_2_0__0
                    	    {
                    	    pushFollow(FOLLOW_rule__HexVal__Group_2_0__0_in_rule__HexVal__Alternatives_21446);
                    	    rule__HexVal__Group_2_0__0();

                    	    state._fsp--;


                    	    }
                    	    break;

                    	default :
                    	    break loop10;
                        }
                    } while (true);

                     after(grammarAccess.getHexValAccess().getGroup_2_0()); 

                    }


                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:694:6: ( ( rule__HexVal__Group_2_1__0 ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:694:6: ( ( rule__HexVal__Group_2_1__0 ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:695:1: ( rule__HexVal__Group_2_1__0 )
                    {
                     before(grammarAccess.getHexValAccess().getGroup_2_1()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:696:1: ( rule__HexVal__Group_2_1__0 )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:696:2: rule__HexVal__Group_2_1__0
                    {
                    pushFollow(FOLLOW_rule__HexVal__Group_2_1__0_in_rule__HexVal__Alternatives_21467);
                    rule__HexVal__Group_2_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getHexValAccess().getGroup_2_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Alternatives_2"


    // $ANTLR start "rule__HexVal__ValueAlternatives_2_0_1_0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:705:1: rule__HexVal__ValueAlternatives_2_0_1_0 : ( ( RULE_NUM ) | ( RULE_HEX ) );
    public final void rule__HexVal__ValueAlternatives_2_0_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:709:1: ( ( RULE_NUM ) | ( RULE_HEX ) )
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==RULE_NUM) ) {
                alt12=1;
            }
            else if ( (LA12_0==RULE_HEX) ) {
                alt12=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 12, 0, input);

                throw nvae;
            }
            switch (alt12) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:710:1: ( RULE_NUM )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:710:1: ( RULE_NUM )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:711:1: RULE_NUM
                    {
                     before(grammarAccess.getHexValAccess().getValueNUMTerminalRuleCall_2_0_1_0_0()); 
                    match(input,RULE_NUM,FOLLOW_RULE_NUM_in_rule__HexVal__ValueAlternatives_2_0_1_01500); 
                     after(grammarAccess.getHexValAccess().getValueNUMTerminalRuleCall_2_0_1_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:716:6: ( RULE_HEX )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:716:6: ( RULE_HEX )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:717:1: RULE_HEX
                    {
                     before(grammarAccess.getHexValAccess().getValueHEXTerminalRuleCall_2_0_1_0_1()); 
                    match(input,RULE_HEX,FOLLOW_RULE_HEX_in_rule__HexVal__ValueAlternatives_2_0_1_01517); 
                     after(grammarAccess.getHexValAccess().getValueHEXTerminalRuleCall_2_0_1_0_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__ValueAlternatives_2_0_1_0"


    // $ANTLR start "rule__HexVal__MaxValueAlternatives_2_1_1_0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:727:1: rule__HexVal__MaxValueAlternatives_2_1_1_0 : ( ( RULE_NUM ) | ( RULE_HEX ) );
    public final void rule__HexVal__MaxValueAlternatives_2_1_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:731:1: ( ( RULE_NUM ) | ( RULE_HEX ) )
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0==RULE_NUM) ) {
                alt13=1;
            }
            else if ( (LA13_0==RULE_HEX) ) {
                alt13=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 13, 0, input);

                throw nvae;
            }
            switch (alt13) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:732:1: ( RULE_NUM )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:732:1: ( RULE_NUM )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:733:1: RULE_NUM
                    {
                     before(grammarAccess.getHexValAccess().getMaxValueNUMTerminalRuleCall_2_1_1_0_0()); 
                    match(input,RULE_NUM,FOLLOW_RULE_NUM_in_rule__HexVal__MaxValueAlternatives_2_1_1_01549); 
                     after(grammarAccess.getHexValAccess().getMaxValueNUMTerminalRuleCall_2_1_1_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:738:6: ( RULE_HEX )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:738:6: ( RULE_HEX )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:739:1: RULE_HEX
                    {
                     before(grammarAccess.getHexValAccess().getMaxValueHEXTerminalRuleCall_2_1_1_0_1()); 
                    match(input,RULE_HEX,FOLLOW_RULE_HEX_in_rule__HexVal__MaxValueAlternatives_2_1_1_01566); 
                     after(grammarAccess.getHexValAccess().getMaxValueHEXTerminalRuleCall_2_1_1_0_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__MaxValueAlternatives_2_1_1_0"


    // $ANTLR start "rule__Rule__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:751:1: rule__Rule__Group__0 : rule__Rule__Group__0__Impl rule__Rule__Group__1 ;
    public final void rule__Rule__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:755:1: ( rule__Rule__Group__0__Impl rule__Rule__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:756:2: rule__Rule__Group__0__Impl rule__Rule__Group__1
            {
            pushFollow(FOLLOW_rule__Rule__Group__0__Impl_in_rule__Rule__Group__01596);
            rule__Rule__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__01599);
            rule__Rule__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__0"


    // $ANTLR start "rule__Rule__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:763:1: rule__Rule__Group__0__Impl : ( ( rule__Rule__NameAssignment_0 ) ) ;
    public final void rule__Rule__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:767:1: ( ( ( rule__Rule__NameAssignment_0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:768:1: ( ( rule__Rule__NameAssignment_0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:768:1: ( ( rule__Rule__NameAssignment_0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:769:1: ( rule__Rule__NameAssignment_0 )
            {
             before(grammarAccess.getRuleAccess().getNameAssignment_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:770:1: ( rule__Rule__NameAssignment_0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:770:2: rule__Rule__NameAssignment_0
            {
            pushFollow(FOLLOW_rule__Rule__NameAssignment_0_in_rule__Rule__Group__0__Impl1626);
            rule__Rule__NameAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getRuleAccess().getNameAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__0__Impl"


    // $ANTLR start "rule__Rule__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:780:1: rule__Rule__Group__1 : rule__Rule__Group__1__Impl rule__Rule__Group__2 ;
    public final void rule__Rule__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:784:1: ( rule__Rule__Group__1__Impl rule__Rule__Group__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:785:2: rule__Rule__Group__1__Impl rule__Rule__Group__2
            {
            pushFollow(FOLLOW_rule__Rule__Group__1__Impl_in_rule__Rule__Group__11656);
            rule__Rule__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__11659);
            rule__Rule__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__1"


    // $ANTLR start "rule__Rule__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:792:1: rule__Rule__Group__1__Impl : ( '=' ) ;
    public final void rule__Rule__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:796:1: ( ( '=' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:797:1: ( '=' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:797:1: ( '=' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:798:1: '='
            {
             before(grammarAccess.getRuleAccess().getEqualsSignKeyword_1()); 
            match(input,12,FOLLOW_12_in_rule__Rule__Group__1__Impl1687); 
             after(grammarAccess.getRuleAccess().getEqualsSignKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__1__Impl"


    // $ANTLR start "rule__Rule__Group__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:811:1: rule__Rule__Group__2 : rule__Rule__Group__2__Impl ;
    public final void rule__Rule__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:815:1: ( rule__Rule__Group__2__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:816:2: rule__Rule__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Rule__Group__2__Impl_in_rule__Rule__Group__21718);
            rule__Rule__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__2"


    // $ANTLR start "rule__Rule__Group__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:822:1: rule__Rule__Group__2__Impl : ( ( rule__Rule__AlternationAssignment_2 ) ) ;
    public final void rule__Rule__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:826:1: ( ( ( rule__Rule__AlternationAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:827:1: ( ( rule__Rule__AlternationAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:827:1: ( ( rule__Rule__AlternationAssignment_2 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:828:1: ( rule__Rule__AlternationAssignment_2 )
            {
             before(grammarAccess.getRuleAccess().getAlternationAssignment_2()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:829:1: ( rule__Rule__AlternationAssignment_2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:829:2: rule__Rule__AlternationAssignment_2
            {
            pushFollow(FOLLOW_rule__Rule__AlternationAssignment_2_in_rule__Rule__Group__2__Impl1745);
            rule__Rule__AlternationAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getRuleAccess().getAlternationAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__Group__2__Impl"


    // $ANTLR start "rule__Alternation__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:845:1: rule__Alternation__Group__0 : rule__Alternation__Group__0__Impl rule__Alternation__Group__1 ;
    public final void rule__Alternation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:849:1: ( rule__Alternation__Group__0__Impl rule__Alternation__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:850:2: rule__Alternation__Group__0__Impl rule__Alternation__Group__1
            {
            pushFollow(FOLLOW_rule__Alternation__Group__0__Impl_in_rule__Alternation__Group__01781);
            rule__Alternation__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Alternation__Group__1_in_rule__Alternation__Group__01784);
            rule__Alternation__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Alternation__Group__0"


    // $ANTLR start "rule__Alternation__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:857:1: rule__Alternation__Group__0__Impl : ( ( rule__Alternation__ConcatenationsAssignment_0 ) ) ;
    public final void rule__Alternation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:861:1: ( ( ( rule__Alternation__ConcatenationsAssignment_0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:862:1: ( ( rule__Alternation__ConcatenationsAssignment_0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:862:1: ( ( rule__Alternation__ConcatenationsAssignment_0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:863:1: ( rule__Alternation__ConcatenationsAssignment_0 )
            {
             before(grammarAccess.getAlternationAccess().getConcatenationsAssignment_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:864:1: ( rule__Alternation__ConcatenationsAssignment_0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:864:2: rule__Alternation__ConcatenationsAssignment_0
            {
            pushFollow(FOLLOW_rule__Alternation__ConcatenationsAssignment_0_in_rule__Alternation__Group__0__Impl1811);
            rule__Alternation__ConcatenationsAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getAlternationAccess().getConcatenationsAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Alternation__Group__0__Impl"


    // $ANTLR start "rule__Alternation__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:874:1: rule__Alternation__Group__1 : rule__Alternation__Group__1__Impl ;
    public final void rule__Alternation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:878:1: ( rule__Alternation__Group__1__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:879:2: rule__Alternation__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Alternation__Group__1__Impl_in_rule__Alternation__Group__11841);
            rule__Alternation__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Alternation__Group__1"


    // $ANTLR start "rule__Alternation__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:885:1: rule__Alternation__Group__1__Impl : ( ( rule__Alternation__Group_1__0 )* ) ;
    public final void rule__Alternation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:889:1: ( ( ( rule__Alternation__Group_1__0 )* ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:890:1: ( ( rule__Alternation__Group_1__0 )* )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:890:1: ( ( rule__Alternation__Group_1__0 )* )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:891:1: ( rule__Alternation__Group_1__0 )*
            {
             before(grammarAccess.getAlternationAccess().getGroup_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:892:1: ( rule__Alternation__Group_1__0 )*
            loop14:
            do {
                int alt14=2;
                int LA14_0 = input.LA(1);

                if ( (LA14_0==13) ) {
                    alt14=1;
                }


                switch (alt14) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:892:2: rule__Alternation__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Alternation__Group_1__0_in_rule__Alternation__Group__1__Impl1868);
            	    rule__Alternation__Group_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop14;
                }
            } while (true);

             after(grammarAccess.getAlternationAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Alternation__Group__1__Impl"


    // $ANTLR start "rule__Alternation__Group_1__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:906:1: rule__Alternation__Group_1__0 : rule__Alternation__Group_1__0__Impl rule__Alternation__Group_1__1 ;
    public final void rule__Alternation__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:910:1: ( rule__Alternation__Group_1__0__Impl rule__Alternation__Group_1__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:911:2: rule__Alternation__Group_1__0__Impl rule__Alternation__Group_1__1
            {
            pushFollow(FOLLOW_rule__Alternation__Group_1__0__Impl_in_rule__Alternation__Group_1__01903);
            rule__Alternation__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Alternation__Group_1__1_in_rule__Alternation__Group_1__01906);
            rule__Alternation__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Alternation__Group_1__0"


    // $ANTLR start "rule__Alternation__Group_1__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:918:1: rule__Alternation__Group_1__0__Impl : ( '/' ) ;
    public final void rule__Alternation__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:922:1: ( ( '/' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:923:1: ( '/' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:923:1: ( '/' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:924:1: '/'
            {
             before(grammarAccess.getAlternationAccess().getSolidusKeyword_1_0()); 
            match(input,13,FOLLOW_13_in_rule__Alternation__Group_1__0__Impl1934); 
             after(grammarAccess.getAlternationAccess().getSolidusKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Alternation__Group_1__0__Impl"


    // $ANTLR start "rule__Alternation__Group_1__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:937:1: rule__Alternation__Group_1__1 : rule__Alternation__Group_1__1__Impl ;
    public final void rule__Alternation__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:941:1: ( rule__Alternation__Group_1__1__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:942:2: rule__Alternation__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Alternation__Group_1__1__Impl_in_rule__Alternation__Group_1__11965);
            rule__Alternation__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Alternation__Group_1__1"


    // $ANTLR start "rule__Alternation__Group_1__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:948:1: rule__Alternation__Group_1__1__Impl : ( ( rule__Alternation__ConcatenationsAssignment_1_1 ) ) ;
    public final void rule__Alternation__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:952:1: ( ( ( rule__Alternation__ConcatenationsAssignment_1_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:953:1: ( ( rule__Alternation__ConcatenationsAssignment_1_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:953:1: ( ( rule__Alternation__ConcatenationsAssignment_1_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:954:1: ( rule__Alternation__ConcatenationsAssignment_1_1 )
            {
             before(grammarAccess.getAlternationAccess().getConcatenationsAssignment_1_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:955:1: ( rule__Alternation__ConcatenationsAssignment_1_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:955:2: rule__Alternation__ConcatenationsAssignment_1_1
            {
            pushFollow(FOLLOW_rule__Alternation__ConcatenationsAssignment_1_1_in_rule__Alternation__Group_1__1__Impl1992);
            rule__Alternation__ConcatenationsAssignment_1_1();

            state._fsp--;


            }

             after(grammarAccess.getAlternationAccess().getConcatenationsAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Alternation__Group_1__1__Impl"


    // $ANTLR start "rule__Repetition__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:969:1: rule__Repetition__Group__0 : rule__Repetition__Group__0__Impl rule__Repetition__Group__1 ;
    public final void rule__Repetition__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:973:1: ( rule__Repetition__Group__0__Impl rule__Repetition__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:974:2: rule__Repetition__Group__0__Impl rule__Repetition__Group__1
            {
            pushFollow(FOLLOW_rule__Repetition__Group__0__Impl_in_rule__Repetition__Group__02026);
            rule__Repetition__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Repetition__Group__1_in_rule__Repetition__Group__02029);
            rule__Repetition__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repetition__Group__0"


    // $ANTLR start "rule__Repetition__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:981:1: rule__Repetition__Group__0__Impl : ( ( rule__Repetition__RepeatAssignment_0 )? ) ;
    public final void rule__Repetition__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:985:1: ( ( ( rule__Repetition__RepeatAssignment_0 )? ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:986:1: ( ( rule__Repetition__RepeatAssignment_0 )? )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:986:1: ( ( rule__Repetition__RepeatAssignment_0 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:987:1: ( rule__Repetition__RepeatAssignment_0 )?
            {
             before(grammarAccess.getRepetitionAccess().getRepeatAssignment_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:988:1: ( rule__Repetition__RepeatAssignment_0 )?
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0==RULE_NUM||LA15_0==25) ) {
                alt15=1;
            }
            switch (alt15) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:988:2: rule__Repetition__RepeatAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Repetition__RepeatAssignment_0_in_rule__Repetition__Group__0__Impl2056);
                    rule__Repetition__RepeatAssignment_0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRepetitionAccess().getRepeatAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repetition__Group__0__Impl"


    // $ANTLR start "rule__Repetition__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:998:1: rule__Repetition__Group__1 : rule__Repetition__Group__1__Impl ;
    public final void rule__Repetition__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1002:1: ( rule__Repetition__Group__1__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1003:2: rule__Repetition__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Repetition__Group__1__Impl_in_rule__Repetition__Group__12087);
            rule__Repetition__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repetition__Group__1"


    // $ANTLR start "rule__Repetition__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1009:1: rule__Repetition__Group__1__Impl : ( ( rule__Repetition__ElementAssignment_1 ) ) ;
    public final void rule__Repetition__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1013:1: ( ( ( rule__Repetition__ElementAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1014:1: ( ( rule__Repetition__ElementAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1014:1: ( ( rule__Repetition__ElementAssignment_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1015:1: ( rule__Repetition__ElementAssignment_1 )
            {
             before(grammarAccess.getRepetitionAccess().getElementAssignment_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1016:1: ( rule__Repetition__ElementAssignment_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1016:2: rule__Repetition__ElementAssignment_1
            {
            pushFollow(FOLLOW_rule__Repetition__ElementAssignment_1_in_rule__Repetition__Group__1__Impl2114);
            rule__Repetition__ElementAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getRepetitionAccess().getElementAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repetition__Group__1__Impl"


    // $ANTLR start "rule__Group__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1030:1: rule__Group__Group__0 : rule__Group__Group__0__Impl rule__Group__Group__1 ;
    public final void rule__Group__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1034:1: ( rule__Group__Group__0__Impl rule__Group__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1035:2: rule__Group__Group__0__Impl rule__Group__Group__1
            {
            pushFollow(FOLLOW_rule__Group__Group__0__Impl_in_rule__Group__Group__02148);
            rule__Group__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Group__Group__1_in_rule__Group__Group__02151);
            rule__Group__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Group__Group__0"


    // $ANTLR start "rule__Group__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1042:1: rule__Group__Group__0__Impl : ( '(' ) ;
    public final void rule__Group__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1046:1: ( ( '(' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1047:1: ( '(' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1047:1: ( '(' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1048:1: '('
            {
             before(grammarAccess.getGroupAccess().getLeftParenthesisKeyword_0()); 
            match(input,14,FOLLOW_14_in_rule__Group__Group__0__Impl2179); 
             after(grammarAccess.getGroupAccess().getLeftParenthesisKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Group__Group__0__Impl"


    // $ANTLR start "rule__Group__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1061:1: rule__Group__Group__1 : rule__Group__Group__1__Impl rule__Group__Group__2 ;
    public final void rule__Group__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1065:1: ( rule__Group__Group__1__Impl rule__Group__Group__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1066:2: rule__Group__Group__1__Impl rule__Group__Group__2
            {
            pushFollow(FOLLOW_rule__Group__Group__1__Impl_in_rule__Group__Group__12210);
            rule__Group__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Group__Group__2_in_rule__Group__Group__12213);
            rule__Group__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Group__Group__1"


    // $ANTLR start "rule__Group__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1073:1: rule__Group__Group__1__Impl : ( ( rule__Group__AlternationAssignment_1 ) ) ;
    public final void rule__Group__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1077:1: ( ( ( rule__Group__AlternationAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1078:1: ( ( rule__Group__AlternationAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1078:1: ( ( rule__Group__AlternationAssignment_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1079:1: ( rule__Group__AlternationAssignment_1 )
            {
             before(grammarAccess.getGroupAccess().getAlternationAssignment_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1080:1: ( rule__Group__AlternationAssignment_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1080:2: rule__Group__AlternationAssignment_1
            {
            pushFollow(FOLLOW_rule__Group__AlternationAssignment_1_in_rule__Group__Group__1__Impl2240);
            rule__Group__AlternationAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getGroupAccess().getAlternationAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Group__Group__1__Impl"


    // $ANTLR start "rule__Group__Group__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1090:1: rule__Group__Group__2 : rule__Group__Group__2__Impl ;
    public final void rule__Group__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1094:1: ( rule__Group__Group__2__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1095:2: rule__Group__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Group__Group__2__Impl_in_rule__Group__Group__22270);
            rule__Group__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Group__Group__2"


    // $ANTLR start "rule__Group__Group__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1101:1: rule__Group__Group__2__Impl : ( ')' ) ;
    public final void rule__Group__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1105:1: ( ( ')' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1106:1: ( ')' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1106:1: ( ')' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1107:1: ')'
            {
             before(grammarAccess.getGroupAccess().getRightParenthesisKeyword_2()); 
            match(input,15,FOLLOW_15_in_rule__Group__Group__2__Impl2298); 
             after(grammarAccess.getGroupAccess().getRightParenthesisKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Group__Group__2__Impl"


    // $ANTLR start "rule__Option__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1126:1: rule__Option__Group__0 : rule__Option__Group__0__Impl rule__Option__Group__1 ;
    public final void rule__Option__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1130:1: ( rule__Option__Group__0__Impl rule__Option__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1131:2: rule__Option__Group__0__Impl rule__Option__Group__1
            {
            pushFollow(FOLLOW_rule__Option__Group__0__Impl_in_rule__Option__Group__02335);
            rule__Option__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Option__Group__1_in_rule__Option__Group__02338);
            rule__Option__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Option__Group__0"


    // $ANTLR start "rule__Option__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1138:1: rule__Option__Group__0__Impl : ( '[' ) ;
    public final void rule__Option__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1142:1: ( ( '[' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1143:1: ( '[' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1143:1: ( '[' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1144:1: '['
            {
             before(grammarAccess.getOptionAccess().getLeftSquareBracketKeyword_0()); 
            match(input,16,FOLLOW_16_in_rule__Option__Group__0__Impl2366); 
             after(grammarAccess.getOptionAccess().getLeftSquareBracketKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Option__Group__0__Impl"


    // $ANTLR start "rule__Option__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1157:1: rule__Option__Group__1 : rule__Option__Group__1__Impl rule__Option__Group__2 ;
    public final void rule__Option__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1161:1: ( rule__Option__Group__1__Impl rule__Option__Group__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1162:2: rule__Option__Group__1__Impl rule__Option__Group__2
            {
            pushFollow(FOLLOW_rule__Option__Group__1__Impl_in_rule__Option__Group__12397);
            rule__Option__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Option__Group__2_in_rule__Option__Group__12400);
            rule__Option__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Option__Group__1"


    // $ANTLR start "rule__Option__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1169:1: rule__Option__Group__1__Impl : ( ( rule__Option__AlternationAssignment_1 ) ) ;
    public final void rule__Option__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1173:1: ( ( ( rule__Option__AlternationAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1174:1: ( ( rule__Option__AlternationAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1174:1: ( ( rule__Option__AlternationAssignment_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1175:1: ( rule__Option__AlternationAssignment_1 )
            {
             before(grammarAccess.getOptionAccess().getAlternationAssignment_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1176:1: ( rule__Option__AlternationAssignment_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1176:2: rule__Option__AlternationAssignment_1
            {
            pushFollow(FOLLOW_rule__Option__AlternationAssignment_1_in_rule__Option__Group__1__Impl2427);
            rule__Option__AlternationAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getOptionAccess().getAlternationAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Option__Group__1__Impl"


    // $ANTLR start "rule__Option__Group__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1186:1: rule__Option__Group__2 : rule__Option__Group__2__Impl ;
    public final void rule__Option__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1190:1: ( rule__Option__Group__2__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1191:2: rule__Option__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Option__Group__2__Impl_in_rule__Option__Group__22457);
            rule__Option__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Option__Group__2"


    // $ANTLR start "rule__Option__Group__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1197:1: rule__Option__Group__2__Impl : ( ']' ) ;
    public final void rule__Option__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1201:1: ( ( ']' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1202:1: ( ']' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1202:1: ( ']' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1203:1: ']'
            {
             before(grammarAccess.getOptionAccess().getRightSquareBracketKeyword_2()); 
            match(input,17,FOLLOW_17_in_rule__Option__Group__2__Impl2485); 
             after(grammarAccess.getOptionAccess().getRightSquareBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Option__Group__2__Impl"


    // $ANTLR start "rule__BinVal__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1222:1: rule__BinVal__Group__0 : rule__BinVal__Group__0__Impl rule__BinVal__Group__1 ;
    public final void rule__BinVal__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1226:1: ( rule__BinVal__Group__0__Impl rule__BinVal__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1227:2: rule__BinVal__Group__0__Impl rule__BinVal__Group__1
            {
            pushFollow(FOLLOW_rule__BinVal__Group__0__Impl_in_rule__BinVal__Group__02522);
            rule__BinVal__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BinVal__Group__1_in_rule__BinVal__Group__02525);
            rule__BinVal__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group__0"


    // $ANTLR start "rule__BinVal__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1234:1: rule__BinVal__Group__0__Impl : ( '%b' ) ;
    public final void rule__BinVal__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1238:1: ( ( '%b' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1239:1: ( '%b' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1239:1: ( '%b' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1240:1: '%b'
            {
             before(grammarAccess.getBinValAccess().getBKeyword_0()); 
            match(input,18,FOLLOW_18_in_rule__BinVal__Group__0__Impl2553); 
             after(grammarAccess.getBinValAccess().getBKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group__0__Impl"


    // $ANTLR start "rule__BinVal__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1253:1: rule__BinVal__Group__1 : rule__BinVal__Group__1__Impl rule__BinVal__Group__2 ;
    public final void rule__BinVal__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1257:1: ( rule__BinVal__Group__1__Impl rule__BinVal__Group__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1258:2: rule__BinVal__Group__1__Impl rule__BinVal__Group__2
            {
            pushFollow(FOLLOW_rule__BinVal__Group__1__Impl_in_rule__BinVal__Group__12584);
            rule__BinVal__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BinVal__Group__2_in_rule__BinVal__Group__12587);
            rule__BinVal__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group__1"


    // $ANTLR start "rule__BinVal__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1265:1: rule__BinVal__Group__1__Impl : ( ( rule__BinVal__ValueAssignment_1 ) ) ;
    public final void rule__BinVal__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1269:1: ( ( ( rule__BinVal__ValueAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1270:1: ( ( rule__BinVal__ValueAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1270:1: ( ( rule__BinVal__ValueAssignment_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1271:1: ( rule__BinVal__ValueAssignment_1 )
            {
             before(grammarAccess.getBinValAccess().getValueAssignment_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1272:1: ( rule__BinVal__ValueAssignment_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1272:2: rule__BinVal__ValueAssignment_1
            {
            pushFollow(FOLLOW_rule__BinVal__ValueAssignment_1_in_rule__BinVal__Group__1__Impl2614);
            rule__BinVal__ValueAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getBinValAccess().getValueAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group__1__Impl"


    // $ANTLR start "rule__BinVal__Group__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1282:1: rule__BinVal__Group__2 : rule__BinVal__Group__2__Impl ;
    public final void rule__BinVal__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1286:1: ( rule__BinVal__Group__2__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1287:2: rule__BinVal__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__BinVal__Group__2__Impl_in_rule__BinVal__Group__22644);
            rule__BinVal__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group__2"


    // $ANTLR start "rule__BinVal__Group__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1293:1: rule__BinVal__Group__2__Impl : ( ( rule__BinVal__Alternatives_2 )? ) ;
    public final void rule__BinVal__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1297:1: ( ( ( rule__BinVal__Alternatives_2 )? ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1298:1: ( ( rule__BinVal__Alternatives_2 )? )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1298:1: ( ( rule__BinVal__Alternatives_2 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1299:1: ( rule__BinVal__Alternatives_2 )?
            {
             before(grammarAccess.getBinValAccess().getAlternatives_2()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1300:1: ( rule__BinVal__Alternatives_2 )?
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( ((LA16_0>=19 && LA16_0<=20)) ) {
                alt16=1;
            }
            switch (alt16) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1300:2: rule__BinVal__Alternatives_2
                    {
                    pushFollow(FOLLOW_rule__BinVal__Alternatives_2_in_rule__BinVal__Group__2__Impl2671);
                    rule__BinVal__Alternatives_2();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getBinValAccess().getAlternatives_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group__2__Impl"


    // $ANTLR start "rule__BinVal__Group_2_0__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1316:1: rule__BinVal__Group_2_0__0 : rule__BinVal__Group_2_0__0__Impl rule__BinVal__Group_2_0__1 ;
    public final void rule__BinVal__Group_2_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1320:1: ( rule__BinVal__Group_2_0__0__Impl rule__BinVal__Group_2_0__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1321:2: rule__BinVal__Group_2_0__0__Impl rule__BinVal__Group_2_0__1
            {
            pushFollow(FOLLOW_rule__BinVal__Group_2_0__0__Impl_in_rule__BinVal__Group_2_0__02708);
            rule__BinVal__Group_2_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BinVal__Group_2_0__1_in_rule__BinVal__Group_2_0__02711);
            rule__BinVal__Group_2_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group_2_0__0"


    // $ANTLR start "rule__BinVal__Group_2_0__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1328:1: rule__BinVal__Group_2_0__0__Impl : ( '.' ) ;
    public final void rule__BinVal__Group_2_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1332:1: ( ( '.' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1333:1: ( '.' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1333:1: ( '.' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1334:1: '.'
            {
             before(grammarAccess.getBinValAccess().getFullStopKeyword_2_0_0()); 
            match(input,19,FOLLOW_19_in_rule__BinVal__Group_2_0__0__Impl2739); 
             after(grammarAccess.getBinValAccess().getFullStopKeyword_2_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group_2_0__0__Impl"


    // $ANTLR start "rule__BinVal__Group_2_0__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1347:1: rule__BinVal__Group_2_0__1 : rule__BinVal__Group_2_0__1__Impl ;
    public final void rule__BinVal__Group_2_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1351:1: ( rule__BinVal__Group_2_0__1__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1352:2: rule__BinVal__Group_2_0__1__Impl
            {
            pushFollow(FOLLOW_rule__BinVal__Group_2_0__1__Impl_in_rule__BinVal__Group_2_0__12770);
            rule__BinVal__Group_2_0__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group_2_0__1"


    // $ANTLR start "rule__BinVal__Group_2_0__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1358:1: rule__BinVal__Group_2_0__1__Impl : ( ( rule__BinVal__ValueAssignment_2_0_1 ) ) ;
    public final void rule__BinVal__Group_2_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1362:1: ( ( ( rule__BinVal__ValueAssignment_2_0_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1363:1: ( ( rule__BinVal__ValueAssignment_2_0_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1363:1: ( ( rule__BinVal__ValueAssignment_2_0_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1364:1: ( rule__BinVal__ValueAssignment_2_0_1 )
            {
             before(grammarAccess.getBinValAccess().getValueAssignment_2_0_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1365:1: ( rule__BinVal__ValueAssignment_2_0_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1365:2: rule__BinVal__ValueAssignment_2_0_1
            {
            pushFollow(FOLLOW_rule__BinVal__ValueAssignment_2_0_1_in_rule__BinVal__Group_2_0__1__Impl2797);
            rule__BinVal__ValueAssignment_2_0_1();

            state._fsp--;


            }

             after(grammarAccess.getBinValAccess().getValueAssignment_2_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group_2_0__1__Impl"


    // $ANTLR start "rule__BinVal__Group_2_1__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1379:1: rule__BinVal__Group_2_1__0 : rule__BinVal__Group_2_1__0__Impl rule__BinVal__Group_2_1__1 ;
    public final void rule__BinVal__Group_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1383:1: ( rule__BinVal__Group_2_1__0__Impl rule__BinVal__Group_2_1__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1384:2: rule__BinVal__Group_2_1__0__Impl rule__BinVal__Group_2_1__1
            {
            pushFollow(FOLLOW_rule__BinVal__Group_2_1__0__Impl_in_rule__BinVal__Group_2_1__02831);
            rule__BinVal__Group_2_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__BinVal__Group_2_1__1_in_rule__BinVal__Group_2_1__02834);
            rule__BinVal__Group_2_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group_2_1__0"


    // $ANTLR start "rule__BinVal__Group_2_1__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1391:1: rule__BinVal__Group_2_1__0__Impl : ( '-' ) ;
    public final void rule__BinVal__Group_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1395:1: ( ( '-' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1396:1: ( '-' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1396:1: ( '-' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1397:1: '-'
            {
             before(grammarAccess.getBinValAccess().getHyphenMinusKeyword_2_1_0()); 
            match(input,20,FOLLOW_20_in_rule__BinVal__Group_2_1__0__Impl2862); 
             after(grammarAccess.getBinValAccess().getHyphenMinusKeyword_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group_2_1__0__Impl"


    // $ANTLR start "rule__BinVal__Group_2_1__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1410:1: rule__BinVal__Group_2_1__1 : rule__BinVal__Group_2_1__1__Impl ;
    public final void rule__BinVal__Group_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1414:1: ( rule__BinVal__Group_2_1__1__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1415:2: rule__BinVal__Group_2_1__1__Impl
            {
            pushFollow(FOLLOW_rule__BinVal__Group_2_1__1__Impl_in_rule__BinVal__Group_2_1__12893);
            rule__BinVal__Group_2_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group_2_1__1"


    // $ANTLR start "rule__BinVal__Group_2_1__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1421:1: rule__BinVal__Group_2_1__1__Impl : ( ( rule__BinVal__MaxValueAssignment_2_1_1 ) ) ;
    public final void rule__BinVal__Group_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1425:1: ( ( ( rule__BinVal__MaxValueAssignment_2_1_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1426:1: ( ( rule__BinVal__MaxValueAssignment_2_1_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1426:1: ( ( rule__BinVal__MaxValueAssignment_2_1_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1427:1: ( rule__BinVal__MaxValueAssignment_2_1_1 )
            {
             before(grammarAccess.getBinValAccess().getMaxValueAssignment_2_1_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1428:1: ( rule__BinVal__MaxValueAssignment_2_1_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1428:2: rule__BinVal__MaxValueAssignment_2_1_1
            {
            pushFollow(FOLLOW_rule__BinVal__MaxValueAssignment_2_1_1_in_rule__BinVal__Group_2_1__1__Impl2920);
            rule__BinVal__MaxValueAssignment_2_1_1();

            state._fsp--;


            }

             after(grammarAccess.getBinValAccess().getMaxValueAssignment_2_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__Group_2_1__1__Impl"


    // $ANTLR start "rule__DecVal__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1442:1: rule__DecVal__Group__0 : rule__DecVal__Group__0__Impl rule__DecVal__Group__1 ;
    public final void rule__DecVal__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1446:1: ( rule__DecVal__Group__0__Impl rule__DecVal__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1447:2: rule__DecVal__Group__0__Impl rule__DecVal__Group__1
            {
            pushFollow(FOLLOW_rule__DecVal__Group__0__Impl_in_rule__DecVal__Group__02954);
            rule__DecVal__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__DecVal__Group__1_in_rule__DecVal__Group__02957);
            rule__DecVal__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group__0"


    // $ANTLR start "rule__DecVal__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1454:1: rule__DecVal__Group__0__Impl : ( '%d' ) ;
    public final void rule__DecVal__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1458:1: ( ( '%d' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1459:1: ( '%d' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1459:1: ( '%d' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1460:1: '%d'
            {
             before(grammarAccess.getDecValAccess().getDKeyword_0()); 
            match(input,21,FOLLOW_21_in_rule__DecVal__Group__0__Impl2985); 
             after(grammarAccess.getDecValAccess().getDKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group__0__Impl"


    // $ANTLR start "rule__DecVal__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1473:1: rule__DecVal__Group__1 : rule__DecVal__Group__1__Impl rule__DecVal__Group__2 ;
    public final void rule__DecVal__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1477:1: ( rule__DecVal__Group__1__Impl rule__DecVal__Group__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1478:2: rule__DecVal__Group__1__Impl rule__DecVal__Group__2
            {
            pushFollow(FOLLOW_rule__DecVal__Group__1__Impl_in_rule__DecVal__Group__13016);
            rule__DecVal__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__DecVal__Group__2_in_rule__DecVal__Group__13019);
            rule__DecVal__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group__1"


    // $ANTLR start "rule__DecVal__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1485:1: rule__DecVal__Group__1__Impl : ( ( rule__DecVal__ValueAssignment_1 ) ) ;
    public final void rule__DecVal__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1489:1: ( ( ( rule__DecVal__ValueAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1490:1: ( ( rule__DecVal__ValueAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1490:1: ( ( rule__DecVal__ValueAssignment_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1491:1: ( rule__DecVal__ValueAssignment_1 )
            {
             before(grammarAccess.getDecValAccess().getValueAssignment_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1492:1: ( rule__DecVal__ValueAssignment_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1492:2: rule__DecVal__ValueAssignment_1
            {
            pushFollow(FOLLOW_rule__DecVal__ValueAssignment_1_in_rule__DecVal__Group__1__Impl3046);
            rule__DecVal__ValueAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getDecValAccess().getValueAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group__1__Impl"


    // $ANTLR start "rule__DecVal__Group__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1502:1: rule__DecVal__Group__2 : rule__DecVal__Group__2__Impl ;
    public final void rule__DecVal__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1506:1: ( rule__DecVal__Group__2__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1507:2: rule__DecVal__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__DecVal__Group__2__Impl_in_rule__DecVal__Group__23076);
            rule__DecVal__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group__2"


    // $ANTLR start "rule__DecVal__Group__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1513:1: rule__DecVal__Group__2__Impl : ( ( rule__DecVal__Alternatives_2 )? ) ;
    public final void rule__DecVal__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1517:1: ( ( ( rule__DecVal__Alternatives_2 )? ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1518:1: ( ( rule__DecVal__Alternatives_2 )? )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1518:1: ( ( rule__DecVal__Alternatives_2 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1519:1: ( rule__DecVal__Alternatives_2 )?
            {
             before(grammarAccess.getDecValAccess().getAlternatives_2()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1520:1: ( rule__DecVal__Alternatives_2 )?
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( ((LA17_0>=19 && LA17_0<=20)) ) {
                alt17=1;
            }
            switch (alt17) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1520:2: rule__DecVal__Alternatives_2
                    {
                    pushFollow(FOLLOW_rule__DecVal__Alternatives_2_in_rule__DecVal__Group__2__Impl3103);
                    rule__DecVal__Alternatives_2();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDecValAccess().getAlternatives_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group__2__Impl"


    // $ANTLR start "rule__DecVal__Group_2_0__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1536:1: rule__DecVal__Group_2_0__0 : rule__DecVal__Group_2_0__0__Impl rule__DecVal__Group_2_0__1 ;
    public final void rule__DecVal__Group_2_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1540:1: ( rule__DecVal__Group_2_0__0__Impl rule__DecVal__Group_2_0__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1541:2: rule__DecVal__Group_2_0__0__Impl rule__DecVal__Group_2_0__1
            {
            pushFollow(FOLLOW_rule__DecVal__Group_2_0__0__Impl_in_rule__DecVal__Group_2_0__03140);
            rule__DecVal__Group_2_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__DecVal__Group_2_0__1_in_rule__DecVal__Group_2_0__03143);
            rule__DecVal__Group_2_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group_2_0__0"


    // $ANTLR start "rule__DecVal__Group_2_0__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1548:1: rule__DecVal__Group_2_0__0__Impl : ( '.' ) ;
    public final void rule__DecVal__Group_2_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1552:1: ( ( '.' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1553:1: ( '.' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1553:1: ( '.' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1554:1: '.'
            {
             before(grammarAccess.getDecValAccess().getFullStopKeyword_2_0_0()); 
            match(input,19,FOLLOW_19_in_rule__DecVal__Group_2_0__0__Impl3171); 
             after(grammarAccess.getDecValAccess().getFullStopKeyword_2_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group_2_0__0__Impl"


    // $ANTLR start "rule__DecVal__Group_2_0__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1567:1: rule__DecVal__Group_2_0__1 : rule__DecVal__Group_2_0__1__Impl ;
    public final void rule__DecVal__Group_2_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1571:1: ( rule__DecVal__Group_2_0__1__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1572:2: rule__DecVal__Group_2_0__1__Impl
            {
            pushFollow(FOLLOW_rule__DecVal__Group_2_0__1__Impl_in_rule__DecVal__Group_2_0__13202);
            rule__DecVal__Group_2_0__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group_2_0__1"


    // $ANTLR start "rule__DecVal__Group_2_0__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1578:1: rule__DecVal__Group_2_0__1__Impl : ( ( rule__DecVal__ValueAssignment_2_0_1 ) ) ;
    public final void rule__DecVal__Group_2_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1582:1: ( ( ( rule__DecVal__ValueAssignment_2_0_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1583:1: ( ( rule__DecVal__ValueAssignment_2_0_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1583:1: ( ( rule__DecVal__ValueAssignment_2_0_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1584:1: ( rule__DecVal__ValueAssignment_2_0_1 )
            {
             before(grammarAccess.getDecValAccess().getValueAssignment_2_0_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1585:1: ( rule__DecVal__ValueAssignment_2_0_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1585:2: rule__DecVal__ValueAssignment_2_0_1
            {
            pushFollow(FOLLOW_rule__DecVal__ValueAssignment_2_0_1_in_rule__DecVal__Group_2_0__1__Impl3229);
            rule__DecVal__ValueAssignment_2_0_1();

            state._fsp--;


            }

             after(grammarAccess.getDecValAccess().getValueAssignment_2_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group_2_0__1__Impl"


    // $ANTLR start "rule__DecVal__Group_2_1__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1599:1: rule__DecVal__Group_2_1__0 : rule__DecVal__Group_2_1__0__Impl rule__DecVal__Group_2_1__1 ;
    public final void rule__DecVal__Group_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1603:1: ( rule__DecVal__Group_2_1__0__Impl rule__DecVal__Group_2_1__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1604:2: rule__DecVal__Group_2_1__0__Impl rule__DecVal__Group_2_1__1
            {
            pushFollow(FOLLOW_rule__DecVal__Group_2_1__0__Impl_in_rule__DecVal__Group_2_1__03263);
            rule__DecVal__Group_2_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__DecVal__Group_2_1__1_in_rule__DecVal__Group_2_1__03266);
            rule__DecVal__Group_2_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group_2_1__0"


    // $ANTLR start "rule__DecVal__Group_2_1__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1611:1: rule__DecVal__Group_2_1__0__Impl : ( '-' ) ;
    public final void rule__DecVal__Group_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1615:1: ( ( '-' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1616:1: ( '-' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1616:1: ( '-' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1617:1: '-'
            {
             before(grammarAccess.getDecValAccess().getHyphenMinusKeyword_2_1_0()); 
            match(input,20,FOLLOW_20_in_rule__DecVal__Group_2_1__0__Impl3294); 
             after(grammarAccess.getDecValAccess().getHyphenMinusKeyword_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group_2_1__0__Impl"


    // $ANTLR start "rule__DecVal__Group_2_1__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1630:1: rule__DecVal__Group_2_1__1 : rule__DecVal__Group_2_1__1__Impl ;
    public final void rule__DecVal__Group_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1634:1: ( rule__DecVal__Group_2_1__1__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1635:2: rule__DecVal__Group_2_1__1__Impl
            {
            pushFollow(FOLLOW_rule__DecVal__Group_2_1__1__Impl_in_rule__DecVal__Group_2_1__13325);
            rule__DecVal__Group_2_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group_2_1__1"


    // $ANTLR start "rule__DecVal__Group_2_1__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1641:1: rule__DecVal__Group_2_1__1__Impl : ( ( rule__DecVal__MaxValueAssignment_2_1_1 ) ) ;
    public final void rule__DecVal__Group_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1645:1: ( ( ( rule__DecVal__MaxValueAssignment_2_1_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1646:1: ( ( rule__DecVal__MaxValueAssignment_2_1_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1646:1: ( ( rule__DecVal__MaxValueAssignment_2_1_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1647:1: ( rule__DecVal__MaxValueAssignment_2_1_1 )
            {
             before(grammarAccess.getDecValAccess().getMaxValueAssignment_2_1_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1648:1: ( rule__DecVal__MaxValueAssignment_2_1_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1648:2: rule__DecVal__MaxValueAssignment_2_1_1
            {
            pushFollow(FOLLOW_rule__DecVal__MaxValueAssignment_2_1_1_in_rule__DecVal__Group_2_1__1__Impl3352);
            rule__DecVal__MaxValueAssignment_2_1_1();

            state._fsp--;


            }

             after(grammarAccess.getDecValAccess().getMaxValueAssignment_2_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__Group_2_1__1__Impl"


    // $ANTLR start "rule__HexVal__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1662:1: rule__HexVal__Group__0 : rule__HexVal__Group__0__Impl rule__HexVal__Group__1 ;
    public final void rule__HexVal__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1666:1: ( rule__HexVal__Group__0__Impl rule__HexVal__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1667:2: rule__HexVal__Group__0__Impl rule__HexVal__Group__1
            {
            pushFollow(FOLLOW_rule__HexVal__Group__0__Impl_in_rule__HexVal__Group__03386);
            rule__HexVal__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__HexVal__Group__1_in_rule__HexVal__Group__03389);
            rule__HexVal__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group__0"


    // $ANTLR start "rule__HexVal__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1674:1: rule__HexVal__Group__0__Impl : ( '%x' ) ;
    public final void rule__HexVal__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1678:1: ( ( '%x' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1679:1: ( '%x' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1679:1: ( '%x' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1680:1: '%x'
            {
             before(grammarAccess.getHexValAccess().getXKeyword_0()); 
            match(input,22,FOLLOW_22_in_rule__HexVal__Group__0__Impl3417); 
             after(grammarAccess.getHexValAccess().getXKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group__0__Impl"


    // $ANTLR start "rule__HexVal__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1693:1: rule__HexVal__Group__1 : rule__HexVal__Group__1__Impl rule__HexVal__Group__2 ;
    public final void rule__HexVal__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1697:1: ( rule__HexVal__Group__1__Impl rule__HexVal__Group__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1698:2: rule__HexVal__Group__1__Impl rule__HexVal__Group__2
            {
            pushFollow(FOLLOW_rule__HexVal__Group__1__Impl_in_rule__HexVal__Group__13448);
            rule__HexVal__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__HexVal__Group__2_in_rule__HexVal__Group__13451);
            rule__HexVal__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group__1"


    // $ANTLR start "rule__HexVal__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1705:1: rule__HexVal__Group__1__Impl : ( ( rule__HexVal__ValueAssignment_1 ) ) ;
    public final void rule__HexVal__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1709:1: ( ( ( rule__HexVal__ValueAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1710:1: ( ( rule__HexVal__ValueAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1710:1: ( ( rule__HexVal__ValueAssignment_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1711:1: ( rule__HexVal__ValueAssignment_1 )
            {
             before(grammarAccess.getHexValAccess().getValueAssignment_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1712:1: ( rule__HexVal__ValueAssignment_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1712:2: rule__HexVal__ValueAssignment_1
            {
            pushFollow(FOLLOW_rule__HexVal__ValueAssignment_1_in_rule__HexVal__Group__1__Impl3478);
            rule__HexVal__ValueAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getHexValAccess().getValueAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group__1__Impl"


    // $ANTLR start "rule__HexVal__Group__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1722:1: rule__HexVal__Group__2 : rule__HexVal__Group__2__Impl ;
    public final void rule__HexVal__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1726:1: ( rule__HexVal__Group__2__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1727:2: rule__HexVal__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__HexVal__Group__2__Impl_in_rule__HexVal__Group__23508);
            rule__HexVal__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group__2"


    // $ANTLR start "rule__HexVal__Group__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1733:1: rule__HexVal__Group__2__Impl : ( ( rule__HexVal__Alternatives_2 )? ) ;
    public final void rule__HexVal__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1737:1: ( ( ( rule__HexVal__Alternatives_2 )? ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1738:1: ( ( rule__HexVal__Alternatives_2 )? )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1738:1: ( ( rule__HexVal__Alternatives_2 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1739:1: ( rule__HexVal__Alternatives_2 )?
            {
             before(grammarAccess.getHexValAccess().getAlternatives_2()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1740:1: ( rule__HexVal__Alternatives_2 )?
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( ((LA18_0>=19 && LA18_0<=20)) ) {
                alt18=1;
            }
            switch (alt18) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1740:2: rule__HexVal__Alternatives_2
                    {
                    pushFollow(FOLLOW_rule__HexVal__Alternatives_2_in_rule__HexVal__Group__2__Impl3535);
                    rule__HexVal__Alternatives_2();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getHexValAccess().getAlternatives_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group__2__Impl"


    // $ANTLR start "rule__HexVal__Group_2_0__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1756:1: rule__HexVal__Group_2_0__0 : rule__HexVal__Group_2_0__0__Impl rule__HexVal__Group_2_0__1 ;
    public final void rule__HexVal__Group_2_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1760:1: ( rule__HexVal__Group_2_0__0__Impl rule__HexVal__Group_2_0__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1761:2: rule__HexVal__Group_2_0__0__Impl rule__HexVal__Group_2_0__1
            {
            pushFollow(FOLLOW_rule__HexVal__Group_2_0__0__Impl_in_rule__HexVal__Group_2_0__03572);
            rule__HexVal__Group_2_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__HexVal__Group_2_0__1_in_rule__HexVal__Group_2_0__03575);
            rule__HexVal__Group_2_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group_2_0__0"


    // $ANTLR start "rule__HexVal__Group_2_0__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1768:1: rule__HexVal__Group_2_0__0__Impl : ( '.' ) ;
    public final void rule__HexVal__Group_2_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1772:1: ( ( '.' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1773:1: ( '.' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1773:1: ( '.' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1774:1: '.'
            {
             before(grammarAccess.getHexValAccess().getFullStopKeyword_2_0_0()); 
            match(input,19,FOLLOW_19_in_rule__HexVal__Group_2_0__0__Impl3603); 
             after(grammarAccess.getHexValAccess().getFullStopKeyword_2_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group_2_0__0__Impl"


    // $ANTLR start "rule__HexVal__Group_2_0__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1787:1: rule__HexVal__Group_2_0__1 : rule__HexVal__Group_2_0__1__Impl ;
    public final void rule__HexVal__Group_2_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1791:1: ( rule__HexVal__Group_2_0__1__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1792:2: rule__HexVal__Group_2_0__1__Impl
            {
            pushFollow(FOLLOW_rule__HexVal__Group_2_0__1__Impl_in_rule__HexVal__Group_2_0__13634);
            rule__HexVal__Group_2_0__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group_2_0__1"


    // $ANTLR start "rule__HexVal__Group_2_0__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1798:1: rule__HexVal__Group_2_0__1__Impl : ( ( rule__HexVal__ValueAssignment_2_0_1 ) ) ;
    public final void rule__HexVal__Group_2_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1802:1: ( ( ( rule__HexVal__ValueAssignment_2_0_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1803:1: ( ( rule__HexVal__ValueAssignment_2_0_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1803:1: ( ( rule__HexVal__ValueAssignment_2_0_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1804:1: ( rule__HexVal__ValueAssignment_2_0_1 )
            {
             before(grammarAccess.getHexValAccess().getValueAssignment_2_0_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1805:1: ( rule__HexVal__ValueAssignment_2_0_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1805:2: rule__HexVal__ValueAssignment_2_0_1
            {
            pushFollow(FOLLOW_rule__HexVal__ValueAssignment_2_0_1_in_rule__HexVal__Group_2_0__1__Impl3661);
            rule__HexVal__ValueAssignment_2_0_1();

            state._fsp--;


            }

             after(grammarAccess.getHexValAccess().getValueAssignment_2_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group_2_0__1__Impl"


    // $ANTLR start "rule__HexVal__Group_2_1__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1819:1: rule__HexVal__Group_2_1__0 : rule__HexVal__Group_2_1__0__Impl rule__HexVal__Group_2_1__1 ;
    public final void rule__HexVal__Group_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1823:1: ( rule__HexVal__Group_2_1__0__Impl rule__HexVal__Group_2_1__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1824:2: rule__HexVal__Group_2_1__0__Impl rule__HexVal__Group_2_1__1
            {
            pushFollow(FOLLOW_rule__HexVal__Group_2_1__0__Impl_in_rule__HexVal__Group_2_1__03695);
            rule__HexVal__Group_2_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__HexVal__Group_2_1__1_in_rule__HexVal__Group_2_1__03698);
            rule__HexVal__Group_2_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group_2_1__0"


    // $ANTLR start "rule__HexVal__Group_2_1__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1831:1: rule__HexVal__Group_2_1__0__Impl : ( '-' ) ;
    public final void rule__HexVal__Group_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1835:1: ( ( '-' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1836:1: ( '-' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1836:1: ( '-' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1837:1: '-'
            {
             before(grammarAccess.getHexValAccess().getHyphenMinusKeyword_2_1_0()); 
            match(input,20,FOLLOW_20_in_rule__HexVal__Group_2_1__0__Impl3726); 
             after(grammarAccess.getHexValAccess().getHyphenMinusKeyword_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group_2_1__0__Impl"


    // $ANTLR start "rule__HexVal__Group_2_1__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1850:1: rule__HexVal__Group_2_1__1 : rule__HexVal__Group_2_1__1__Impl ;
    public final void rule__HexVal__Group_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1854:1: ( rule__HexVal__Group_2_1__1__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1855:2: rule__HexVal__Group_2_1__1__Impl
            {
            pushFollow(FOLLOW_rule__HexVal__Group_2_1__1__Impl_in_rule__HexVal__Group_2_1__13757);
            rule__HexVal__Group_2_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group_2_1__1"


    // $ANTLR start "rule__HexVal__Group_2_1__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1861:1: rule__HexVal__Group_2_1__1__Impl : ( ( rule__HexVal__MaxValueAssignment_2_1_1 ) ) ;
    public final void rule__HexVal__Group_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1865:1: ( ( ( rule__HexVal__MaxValueAssignment_2_1_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1866:1: ( ( rule__HexVal__MaxValueAssignment_2_1_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1866:1: ( ( rule__HexVal__MaxValueAssignment_2_1_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1867:1: ( rule__HexVal__MaxValueAssignment_2_1_1 )
            {
             before(grammarAccess.getHexValAccess().getMaxValueAssignment_2_1_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1868:1: ( rule__HexVal__MaxValueAssignment_2_1_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1868:2: rule__HexVal__MaxValueAssignment_2_1_1
            {
            pushFollow(FOLLOW_rule__HexVal__MaxValueAssignment_2_1_1_in_rule__HexVal__Group_2_1__1__Impl3784);
            rule__HexVal__MaxValueAssignment_2_1_1();

            state._fsp--;


            }

             after(grammarAccess.getHexValAccess().getMaxValueAssignment_2_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__Group_2_1__1__Impl"


    // $ANTLR start "rule__ProseVal__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1882:1: rule__ProseVal__Group__0 : rule__ProseVal__Group__0__Impl rule__ProseVal__Group__1 ;
    public final void rule__ProseVal__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1886:1: ( rule__ProseVal__Group__0__Impl rule__ProseVal__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1887:2: rule__ProseVal__Group__0__Impl rule__ProseVal__Group__1
            {
            pushFollow(FOLLOW_rule__ProseVal__Group__0__Impl_in_rule__ProseVal__Group__03818);
            rule__ProseVal__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ProseVal__Group__1_in_rule__ProseVal__Group__03821);
            rule__ProseVal__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ProseVal__Group__0"


    // $ANTLR start "rule__ProseVal__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1894:1: rule__ProseVal__Group__0__Impl : ( '<' ) ;
    public final void rule__ProseVal__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1898:1: ( ( '<' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1899:1: ( '<' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1899:1: ( '<' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1900:1: '<'
            {
             before(grammarAccess.getProseValAccess().getLessThanSignKeyword_0()); 
            match(input,23,FOLLOW_23_in_rule__ProseVal__Group__0__Impl3849); 
             after(grammarAccess.getProseValAccess().getLessThanSignKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ProseVal__Group__0__Impl"


    // $ANTLR start "rule__ProseVal__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1913:1: rule__ProseVal__Group__1 : rule__ProseVal__Group__1__Impl rule__ProseVal__Group__2 ;
    public final void rule__ProseVal__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1917:1: ( rule__ProseVal__Group__1__Impl rule__ProseVal__Group__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1918:2: rule__ProseVal__Group__1__Impl rule__ProseVal__Group__2
            {
            pushFollow(FOLLOW_rule__ProseVal__Group__1__Impl_in_rule__ProseVal__Group__13880);
            rule__ProseVal__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ProseVal__Group__2_in_rule__ProseVal__Group__13883);
            rule__ProseVal__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ProseVal__Group__1"


    // $ANTLR start "rule__ProseVal__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1925:1: rule__ProseVal__Group__1__Impl : ( ( rule__ProseVal__ValueAssignment_1 ) ) ;
    public final void rule__ProseVal__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1929:1: ( ( ( rule__ProseVal__ValueAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1930:1: ( ( rule__ProseVal__ValueAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1930:1: ( ( rule__ProseVal__ValueAssignment_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1931:1: ( rule__ProseVal__ValueAssignment_1 )
            {
             before(grammarAccess.getProseValAccess().getValueAssignment_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1932:1: ( rule__ProseVal__ValueAssignment_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1932:2: rule__ProseVal__ValueAssignment_1
            {
            pushFollow(FOLLOW_rule__ProseVal__ValueAssignment_1_in_rule__ProseVal__Group__1__Impl3910);
            rule__ProseVal__ValueAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getProseValAccess().getValueAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ProseVal__Group__1__Impl"


    // $ANTLR start "rule__ProseVal__Group__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1942:1: rule__ProseVal__Group__2 : rule__ProseVal__Group__2__Impl ;
    public final void rule__ProseVal__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1946:1: ( rule__ProseVal__Group__2__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1947:2: rule__ProseVal__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__ProseVal__Group__2__Impl_in_rule__ProseVal__Group__23940);
            rule__ProseVal__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ProseVal__Group__2"


    // $ANTLR start "rule__ProseVal__Group__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1953:1: rule__ProseVal__Group__2__Impl : ( '>' ) ;
    public final void rule__ProseVal__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1957:1: ( ( '>' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1958:1: ( '>' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1958:1: ( '>' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1959:1: '>'
            {
             before(grammarAccess.getProseValAccess().getGreaterThanSignKeyword_2()); 
            match(input,24,FOLLOW_24_in_rule__ProseVal__Group__2__Impl3968); 
             after(grammarAccess.getProseValAccess().getGreaterThanSignKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ProseVal__Group__2__Impl"


    // $ANTLR start "rule__Repeat__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1978:1: rule__Repeat__Group__0 : rule__Repeat__Group__0__Impl rule__Repeat__Group__1 ;
    public final void rule__Repeat__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1982:1: ( rule__Repeat__Group__0__Impl rule__Repeat__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1983:2: rule__Repeat__Group__0__Impl rule__Repeat__Group__1
            {
            pushFollow(FOLLOW_rule__Repeat__Group__0__Impl_in_rule__Repeat__Group__04005);
            rule__Repeat__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Repeat__Group__1_in_rule__Repeat__Group__04008);
            rule__Repeat__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repeat__Group__0"


    // $ANTLR start "rule__Repeat__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1990:1: rule__Repeat__Group__0__Impl : ( () ) ;
    public final void rule__Repeat__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1994:1: ( ( () ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1995:1: ( () )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1995:1: ( () )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1996:1: ()
            {
             before(grammarAccess.getRepeatAccess().getRepeatAction_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1997:1: ()
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:1999:1: 
            {
            }

             after(grammarAccess.getRepeatAccess().getRepeatAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repeat__Group__0__Impl"


    // $ANTLR start "rule__Repeat__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2009:1: rule__Repeat__Group__1 : rule__Repeat__Group__1__Impl rule__Repeat__Group__2 ;
    public final void rule__Repeat__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2013:1: ( rule__Repeat__Group__1__Impl rule__Repeat__Group__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2014:2: rule__Repeat__Group__1__Impl rule__Repeat__Group__2
            {
            pushFollow(FOLLOW_rule__Repeat__Group__1__Impl_in_rule__Repeat__Group__14066);
            rule__Repeat__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Repeat__Group__2_in_rule__Repeat__Group__14069);
            rule__Repeat__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repeat__Group__1"


    // $ANTLR start "rule__Repeat__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2021:1: rule__Repeat__Group__1__Impl : ( ( rule__Repeat__LowerBoundAssignment_1 )? ) ;
    public final void rule__Repeat__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2025:1: ( ( ( rule__Repeat__LowerBoundAssignment_1 )? ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2026:1: ( ( rule__Repeat__LowerBoundAssignment_1 )? )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2026:1: ( ( rule__Repeat__LowerBoundAssignment_1 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2027:1: ( rule__Repeat__LowerBoundAssignment_1 )?
            {
             before(grammarAccess.getRepeatAccess().getLowerBoundAssignment_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2028:1: ( rule__Repeat__LowerBoundAssignment_1 )?
            int alt19=2;
            int LA19_0 = input.LA(1);

            if ( (LA19_0==RULE_NUM) ) {
                alt19=1;
            }
            switch (alt19) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2028:2: rule__Repeat__LowerBoundAssignment_1
                    {
                    pushFollow(FOLLOW_rule__Repeat__LowerBoundAssignment_1_in_rule__Repeat__Group__1__Impl4096);
                    rule__Repeat__LowerBoundAssignment_1();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRepeatAccess().getLowerBoundAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repeat__Group__1__Impl"


    // $ANTLR start "rule__Repeat__Group__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2038:1: rule__Repeat__Group__2 : rule__Repeat__Group__2__Impl rule__Repeat__Group__3 ;
    public final void rule__Repeat__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2042:1: ( rule__Repeat__Group__2__Impl rule__Repeat__Group__3 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2043:2: rule__Repeat__Group__2__Impl rule__Repeat__Group__3
            {
            pushFollow(FOLLOW_rule__Repeat__Group__2__Impl_in_rule__Repeat__Group__24127);
            rule__Repeat__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Repeat__Group__3_in_rule__Repeat__Group__24130);
            rule__Repeat__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repeat__Group__2"


    // $ANTLR start "rule__Repeat__Group__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2050:1: rule__Repeat__Group__2__Impl : ( '*' ) ;
    public final void rule__Repeat__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2054:1: ( ( '*' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2055:1: ( '*' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2055:1: ( '*' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2056:1: '*'
            {
             before(grammarAccess.getRepeatAccess().getAsteriskKeyword_2()); 
            match(input,25,FOLLOW_25_in_rule__Repeat__Group__2__Impl4158); 
             after(grammarAccess.getRepeatAccess().getAsteriskKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repeat__Group__2__Impl"


    // $ANTLR start "rule__Repeat__Group__3"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2069:1: rule__Repeat__Group__3 : rule__Repeat__Group__3__Impl ;
    public final void rule__Repeat__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2073:1: ( rule__Repeat__Group__3__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2074:2: rule__Repeat__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Repeat__Group__3__Impl_in_rule__Repeat__Group__34189);
            rule__Repeat__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repeat__Group__3"


    // $ANTLR start "rule__Repeat__Group__3__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2080:1: rule__Repeat__Group__3__Impl : ( ( rule__Repeat__UpperBoundAssignment_3 )? ) ;
    public final void rule__Repeat__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2084:1: ( ( ( rule__Repeat__UpperBoundAssignment_3 )? ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2085:1: ( ( rule__Repeat__UpperBoundAssignment_3 )? )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2085:1: ( ( rule__Repeat__UpperBoundAssignment_3 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2086:1: ( rule__Repeat__UpperBoundAssignment_3 )?
            {
             before(grammarAccess.getRepeatAccess().getUpperBoundAssignment_3()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2087:1: ( rule__Repeat__UpperBoundAssignment_3 )?
            int alt20=2;
            int LA20_0 = input.LA(1);

            if ( (LA20_0==RULE_NUM) ) {
                alt20=1;
            }
            switch (alt20) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2087:2: rule__Repeat__UpperBoundAssignment_3
                    {
                    pushFollow(FOLLOW_rule__Repeat__UpperBoundAssignment_3_in_rule__Repeat__Group__3__Impl4216);
                    rule__Repeat__UpperBoundAssignment_3();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRepeatAccess().getUpperBoundAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repeat__Group__3__Impl"


    // $ANTLR start "rule__RuleSet__RulesAssignment"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2106:1: rule__RuleSet__RulesAssignment : ( ruleRule ) ;
    public final void rule__RuleSet__RulesAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2110:1: ( ( ruleRule ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2111:1: ( ruleRule )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2111:1: ( ruleRule )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2112:1: ruleRule
            {
             before(grammarAccess.getRuleSetAccess().getRulesRuleParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleRule_in_rule__RuleSet__RulesAssignment4260);
            ruleRule();

            state._fsp--;

             after(grammarAccess.getRuleSetAccess().getRulesRuleParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleSet__RulesAssignment"


    // $ANTLR start "rule__Rule__NameAssignment_0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2121:1: rule__Rule__NameAssignment_0 : ( RULE_ID ) ;
    public final void rule__Rule__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2125:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2126:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2126:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2127:1: RULE_ID
            {
             before(grammarAccess.getRuleAccess().getNameIDTerminalRuleCall_0_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Rule__NameAssignment_04291); 
             after(grammarAccess.getRuleAccess().getNameIDTerminalRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__NameAssignment_0"


    // $ANTLR start "rule__Rule__AlternationAssignment_2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2136:1: rule__Rule__AlternationAssignment_2 : ( ruleAlternation ) ;
    public final void rule__Rule__AlternationAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2140:1: ( ( ruleAlternation ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2141:1: ( ruleAlternation )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2141:1: ( ruleAlternation )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2142:1: ruleAlternation
            {
             before(grammarAccess.getRuleAccess().getAlternationAlternationParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleAlternation_in_rule__Rule__AlternationAssignment_24322);
            ruleAlternation();

            state._fsp--;

             after(grammarAccess.getRuleAccess().getAlternationAlternationParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Rule__AlternationAssignment_2"


    // $ANTLR start "rule__Alternation__ConcatenationsAssignment_0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2151:1: rule__Alternation__ConcatenationsAssignment_0 : ( ruleConcatenation ) ;
    public final void rule__Alternation__ConcatenationsAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2155:1: ( ( ruleConcatenation ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2156:1: ( ruleConcatenation )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2156:1: ( ruleConcatenation )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2157:1: ruleConcatenation
            {
             before(grammarAccess.getAlternationAccess().getConcatenationsConcatenationParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleConcatenation_in_rule__Alternation__ConcatenationsAssignment_04353);
            ruleConcatenation();

            state._fsp--;

             after(grammarAccess.getAlternationAccess().getConcatenationsConcatenationParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Alternation__ConcatenationsAssignment_0"


    // $ANTLR start "rule__Alternation__ConcatenationsAssignment_1_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2166:1: rule__Alternation__ConcatenationsAssignment_1_1 : ( ruleConcatenation ) ;
    public final void rule__Alternation__ConcatenationsAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2170:1: ( ( ruleConcatenation ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2171:1: ( ruleConcatenation )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2171:1: ( ruleConcatenation )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2172:1: ruleConcatenation
            {
             before(grammarAccess.getAlternationAccess().getConcatenationsConcatenationParserRuleCall_1_1_0()); 
            pushFollow(FOLLOW_ruleConcatenation_in_rule__Alternation__ConcatenationsAssignment_1_14384);
            ruleConcatenation();

            state._fsp--;

             after(grammarAccess.getAlternationAccess().getConcatenationsConcatenationParserRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Alternation__ConcatenationsAssignment_1_1"


    // $ANTLR start "rule__Concatenation__RepetitionsAssignment"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2181:1: rule__Concatenation__RepetitionsAssignment : ( ruleRepetition ) ;
    public final void rule__Concatenation__RepetitionsAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2185:1: ( ( ruleRepetition ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2186:1: ( ruleRepetition )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2186:1: ( ruleRepetition )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2187:1: ruleRepetition
            {
             before(grammarAccess.getConcatenationAccess().getRepetitionsRepetitionParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleRepetition_in_rule__Concatenation__RepetitionsAssignment4415);
            ruleRepetition();

            state._fsp--;

             after(grammarAccess.getConcatenationAccess().getRepetitionsRepetitionParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Concatenation__RepetitionsAssignment"


    // $ANTLR start "rule__Repetition__RepeatAssignment_0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2196:1: rule__Repetition__RepeatAssignment_0 : ( ruleRepeat ) ;
    public final void rule__Repetition__RepeatAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2200:1: ( ( ruleRepeat ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2201:1: ( ruleRepeat )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2201:1: ( ruleRepeat )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2202:1: ruleRepeat
            {
             before(grammarAccess.getRepetitionAccess().getRepeatRepeatParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleRepeat_in_rule__Repetition__RepeatAssignment_04446);
            ruleRepeat();

            state._fsp--;

             after(grammarAccess.getRepetitionAccess().getRepeatRepeatParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repetition__RepeatAssignment_0"


    // $ANTLR start "rule__Repetition__ElementAssignment_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2211:1: rule__Repetition__ElementAssignment_1 : ( ruleElement ) ;
    public final void rule__Repetition__ElementAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2215:1: ( ( ruleElement ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2216:1: ( ruleElement )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2216:1: ( ruleElement )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2217:1: ruleElement
            {
             before(grammarAccess.getRepetitionAccess().getElementElementParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleElement_in_rule__Repetition__ElementAssignment_14477);
            ruleElement();

            state._fsp--;

             after(grammarAccess.getRepetitionAccess().getElementElementParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repetition__ElementAssignment_1"


    // $ANTLR start "rule__RuleRef__RuleAssignment"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2226:1: rule__RuleRef__RuleAssignment : ( ( RULE_ID ) ) ;
    public final void rule__RuleRef__RuleAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2230:1: ( ( ( RULE_ID ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2231:1: ( ( RULE_ID ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2231:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2232:1: ( RULE_ID )
            {
             before(grammarAccess.getRuleRefAccess().getRuleRuleCrossReference_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2233:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2234:1: RULE_ID
            {
             before(grammarAccess.getRuleRefAccess().getRuleRuleIDTerminalRuleCall_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleRef__RuleAssignment4512); 
             after(grammarAccess.getRuleRefAccess().getRuleRuleIDTerminalRuleCall_0_1()); 

            }

             after(grammarAccess.getRuleRefAccess().getRuleRuleCrossReference_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleRef__RuleAssignment"


    // $ANTLR start "rule__Group__AlternationAssignment_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2245:1: rule__Group__AlternationAssignment_1 : ( ruleAlternation ) ;
    public final void rule__Group__AlternationAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2249:1: ( ( ruleAlternation ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2250:1: ( ruleAlternation )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2250:1: ( ruleAlternation )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2251:1: ruleAlternation
            {
             before(grammarAccess.getGroupAccess().getAlternationAlternationParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleAlternation_in_rule__Group__AlternationAssignment_14547);
            ruleAlternation();

            state._fsp--;

             after(grammarAccess.getGroupAccess().getAlternationAlternationParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Group__AlternationAssignment_1"


    // $ANTLR start "rule__Option__AlternationAssignment_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2260:1: rule__Option__AlternationAssignment_1 : ( ruleAlternation ) ;
    public final void rule__Option__AlternationAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2264:1: ( ( ruleAlternation ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2265:1: ( ruleAlternation )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2265:1: ( ruleAlternation )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2266:1: ruleAlternation
            {
             before(grammarAccess.getOptionAccess().getAlternationAlternationParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleAlternation_in_rule__Option__AlternationAssignment_14578);
            ruleAlternation();

            state._fsp--;

             after(grammarAccess.getOptionAccess().getAlternationAlternationParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Option__AlternationAssignment_1"


    // $ANTLR start "rule__CharVal__ValueAssignment"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2275:1: rule__CharVal__ValueAssignment : ( RULE_STRING ) ;
    public final void rule__CharVal__ValueAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2279:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2280:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2280:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2281:1: RULE_STRING
            {
             before(grammarAccess.getCharValAccess().getValueSTRINGTerminalRuleCall_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__CharVal__ValueAssignment4609); 
             after(grammarAccess.getCharValAccess().getValueSTRINGTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__CharVal__ValueAssignment"


    // $ANTLR start "rule__BinVal__ValueAssignment_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2290:1: rule__BinVal__ValueAssignment_1 : ( RULE_NUM ) ;
    public final void rule__BinVal__ValueAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2294:1: ( ( RULE_NUM ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2295:1: ( RULE_NUM )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2295:1: ( RULE_NUM )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2296:1: RULE_NUM
            {
             before(grammarAccess.getBinValAccess().getValueNUMTerminalRuleCall_1_0()); 
            match(input,RULE_NUM,FOLLOW_RULE_NUM_in_rule__BinVal__ValueAssignment_14640); 
             after(grammarAccess.getBinValAccess().getValueNUMTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__ValueAssignment_1"


    // $ANTLR start "rule__BinVal__ValueAssignment_2_0_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2305:1: rule__BinVal__ValueAssignment_2_0_1 : ( RULE_NUM ) ;
    public final void rule__BinVal__ValueAssignment_2_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2309:1: ( ( RULE_NUM ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2310:1: ( RULE_NUM )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2310:1: ( RULE_NUM )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2311:1: RULE_NUM
            {
             before(grammarAccess.getBinValAccess().getValueNUMTerminalRuleCall_2_0_1_0()); 
            match(input,RULE_NUM,FOLLOW_RULE_NUM_in_rule__BinVal__ValueAssignment_2_0_14671); 
             after(grammarAccess.getBinValAccess().getValueNUMTerminalRuleCall_2_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__ValueAssignment_2_0_1"


    // $ANTLR start "rule__BinVal__MaxValueAssignment_2_1_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2320:1: rule__BinVal__MaxValueAssignment_2_1_1 : ( RULE_NUM ) ;
    public final void rule__BinVal__MaxValueAssignment_2_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2324:1: ( ( RULE_NUM ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2325:1: ( RULE_NUM )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2325:1: ( RULE_NUM )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2326:1: RULE_NUM
            {
             before(grammarAccess.getBinValAccess().getMaxValueNUMTerminalRuleCall_2_1_1_0()); 
            match(input,RULE_NUM,FOLLOW_RULE_NUM_in_rule__BinVal__MaxValueAssignment_2_1_14702); 
             after(grammarAccess.getBinValAccess().getMaxValueNUMTerminalRuleCall_2_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__BinVal__MaxValueAssignment_2_1_1"


    // $ANTLR start "rule__DecVal__ValueAssignment_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2335:1: rule__DecVal__ValueAssignment_1 : ( RULE_NUM ) ;
    public final void rule__DecVal__ValueAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2339:1: ( ( RULE_NUM ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2340:1: ( RULE_NUM )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2340:1: ( RULE_NUM )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2341:1: RULE_NUM
            {
             before(grammarAccess.getDecValAccess().getValueNUMTerminalRuleCall_1_0()); 
            match(input,RULE_NUM,FOLLOW_RULE_NUM_in_rule__DecVal__ValueAssignment_14733); 
             after(grammarAccess.getDecValAccess().getValueNUMTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__ValueAssignment_1"


    // $ANTLR start "rule__DecVal__ValueAssignment_2_0_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2350:1: rule__DecVal__ValueAssignment_2_0_1 : ( RULE_NUM ) ;
    public final void rule__DecVal__ValueAssignment_2_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2354:1: ( ( RULE_NUM ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2355:1: ( RULE_NUM )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2355:1: ( RULE_NUM )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2356:1: RULE_NUM
            {
             before(grammarAccess.getDecValAccess().getValueNUMTerminalRuleCall_2_0_1_0()); 
            match(input,RULE_NUM,FOLLOW_RULE_NUM_in_rule__DecVal__ValueAssignment_2_0_14764); 
             after(grammarAccess.getDecValAccess().getValueNUMTerminalRuleCall_2_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__ValueAssignment_2_0_1"


    // $ANTLR start "rule__DecVal__MaxValueAssignment_2_1_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2365:1: rule__DecVal__MaxValueAssignment_2_1_1 : ( RULE_NUM ) ;
    public final void rule__DecVal__MaxValueAssignment_2_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2369:1: ( ( RULE_NUM ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2370:1: ( RULE_NUM )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2370:1: ( RULE_NUM )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2371:1: RULE_NUM
            {
             before(grammarAccess.getDecValAccess().getMaxValueNUMTerminalRuleCall_2_1_1_0()); 
            match(input,RULE_NUM,FOLLOW_RULE_NUM_in_rule__DecVal__MaxValueAssignment_2_1_14795); 
             after(grammarAccess.getDecValAccess().getMaxValueNUMTerminalRuleCall_2_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__DecVal__MaxValueAssignment_2_1_1"


    // $ANTLR start "rule__HexVal__ValueAssignment_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2380:1: rule__HexVal__ValueAssignment_1 : ( ( rule__HexVal__ValueAlternatives_1_0 ) ) ;
    public final void rule__HexVal__ValueAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2384:1: ( ( ( rule__HexVal__ValueAlternatives_1_0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2385:1: ( ( rule__HexVal__ValueAlternatives_1_0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2385:1: ( ( rule__HexVal__ValueAlternatives_1_0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2386:1: ( rule__HexVal__ValueAlternatives_1_0 )
            {
             before(grammarAccess.getHexValAccess().getValueAlternatives_1_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2387:1: ( rule__HexVal__ValueAlternatives_1_0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2387:2: rule__HexVal__ValueAlternatives_1_0
            {
            pushFollow(FOLLOW_rule__HexVal__ValueAlternatives_1_0_in_rule__HexVal__ValueAssignment_14826);
            rule__HexVal__ValueAlternatives_1_0();

            state._fsp--;


            }

             after(grammarAccess.getHexValAccess().getValueAlternatives_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__ValueAssignment_1"


    // $ANTLR start "rule__HexVal__ValueAssignment_2_0_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2396:1: rule__HexVal__ValueAssignment_2_0_1 : ( ( rule__HexVal__ValueAlternatives_2_0_1_0 ) ) ;
    public final void rule__HexVal__ValueAssignment_2_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2400:1: ( ( ( rule__HexVal__ValueAlternatives_2_0_1_0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2401:1: ( ( rule__HexVal__ValueAlternatives_2_0_1_0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2401:1: ( ( rule__HexVal__ValueAlternatives_2_0_1_0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2402:1: ( rule__HexVal__ValueAlternatives_2_0_1_0 )
            {
             before(grammarAccess.getHexValAccess().getValueAlternatives_2_0_1_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2403:1: ( rule__HexVal__ValueAlternatives_2_0_1_0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2403:2: rule__HexVal__ValueAlternatives_2_0_1_0
            {
            pushFollow(FOLLOW_rule__HexVal__ValueAlternatives_2_0_1_0_in_rule__HexVal__ValueAssignment_2_0_14859);
            rule__HexVal__ValueAlternatives_2_0_1_0();

            state._fsp--;


            }

             after(grammarAccess.getHexValAccess().getValueAlternatives_2_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__ValueAssignment_2_0_1"


    // $ANTLR start "rule__HexVal__MaxValueAssignment_2_1_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2412:1: rule__HexVal__MaxValueAssignment_2_1_1 : ( ( rule__HexVal__MaxValueAlternatives_2_1_1_0 ) ) ;
    public final void rule__HexVal__MaxValueAssignment_2_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2416:1: ( ( ( rule__HexVal__MaxValueAlternatives_2_1_1_0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2417:1: ( ( rule__HexVal__MaxValueAlternatives_2_1_1_0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2417:1: ( ( rule__HexVal__MaxValueAlternatives_2_1_1_0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2418:1: ( rule__HexVal__MaxValueAlternatives_2_1_1_0 )
            {
             before(grammarAccess.getHexValAccess().getMaxValueAlternatives_2_1_1_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2419:1: ( rule__HexVal__MaxValueAlternatives_2_1_1_0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2419:2: rule__HexVal__MaxValueAlternatives_2_1_1_0
            {
            pushFollow(FOLLOW_rule__HexVal__MaxValueAlternatives_2_1_1_0_in_rule__HexVal__MaxValueAssignment_2_1_14892);
            rule__HexVal__MaxValueAlternatives_2_1_1_0();

            state._fsp--;


            }

             after(grammarAccess.getHexValAccess().getMaxValueAlternatives_2_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HexVal__MaxValueAssignment_2_1_1"


    // $ANTLR start "rule__ProseVal__ValueAssignment_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2428:1: rule__ProseVal__ValueAssignment_1 : ( RULE_ID ) ;
    public final void rule__ProseVal__ValueAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2432:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2433:1: ( RULE_ID )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2433:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2434:1: RULE_ID
            {
             before(grammarAccess.getProseValAccess().getValueIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ProseVal__ValueAssignment_14925); 
             after(grammarAccess.getProseValAccess().getValueIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ProseVal__ValueAssignment_1"


    // $ANTLR start "rule__Repeat__LowerBoundAssignment_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2443:1: rule__Repeat__LowerBoundAssignment_1 : ( RULE_NUM ) ;
    public final void rule__Repeat__LowerBoundAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2447:1: ( ( RULE_NUM ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2448:1: ( RULE_NUM )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2448:1: ( RULE_NUM )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2449:1: RULE_NUM
            {
             before(grammarAccess.getRepeatAccess().getLowerBoundNUMTerminalRuleCall_1_0()); 
            match(input,RULE_NUM,FOLLOW_RULE_NUM_in_rule__Repeat__LowerBoundAssignment_14956); 
             after(grammarAccess.getRepeatAccess().getLowerBoundNUMTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repeat__LowerBoundAssignment_1"


    // $ANTLR start "rule__Repeat__UpperBoundAssignment_3"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2458:1: rule__Repeat__UpperBoundAssignment_3 : ( RULE_NUM ) ;
    public final void rule__Repeat__UpperBoundAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2462:1: ( ( RULE_NUM ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2463:1: ( RULE_NUM )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2463:1: ( RULE_NUM )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/abnf/ui/contentassist/antlr/internal/InternalAbnf.g:2464:1: RULE_NUM
            {
             before(grammarAccess.getRepeatAccess().getUpperBoundNUMTerminalRuleCall_3_0()); 
            match(input,RULE_NUM,FOLLOW_RULE_NUM_in_rule__Repeat__UpperBoundAssignment_34987); 
             after(grammarAccess.getRepeatAccess().getUpperBoundNUMTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Repeat__UpperBoundAssignment_3"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleRuleSet_in_entryRuleRuleSet61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRuleSet68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleSet__RulesAssignment_in_ruleRuleSet96 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_rule__RuleSet__RulesAssignment_in_ruleRuleSet108 = new BitSet(new long[]{0x0000000000000042L});
    public static final BitSet FOLLOW_ruleRule_in_entryRuleRule138 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRule145 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__0_in_ruleRule171 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAlternation_in_entryRuleAlternation198 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAlternation205 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__Group__0_in_ruleAlternation231 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenation_in_entryRuleConcatenation258 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleConcatenation265 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Concatenation__RepetitionsAssignment_in_ruleConcatenation293 = new BitSet(new long[]{0x0000000002E540D2L});
    public static final BitSet FOLLOW_rule__Concatenation__RepetitionsAssignment_in_ruleConcatenation305 = new BitSet(new long[]{0x0000000002E540D2L});
    public static final BitSet FOLLOW_ruleRepetition_in_entryRuleRepetition335 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRepetition342 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Repetition__Group__0_in_ruleRepetition368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleElement_in_entryRuleElement395 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleElement402 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Element__Alternatives_in_ruleElement428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRuleRef_in_entryRuleRuleRef455 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRuleRef462 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleRef__RuleAssignment_in_ruleRuleRef488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGroup_in_entryRuleGroup515 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleGroup522 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Group__Group__0_in_ruleGroup548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOption_in_entryRuleOption575 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleOption582 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Option__Group__0_in_ruleOption608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCharVal_in_entryRuleCharVal635 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCharVal642 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__CharVal__ValueAssignment_in_ruleCharVal668 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumVal_in_entryRuleNumVal695 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNumVal702 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NumVal__Alternatives_in_ruleNumVal728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBinVal_in_entryRuleBinVal755 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBinVal762 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__Group__0_in_ruleBinVal788 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDecVal_in_entryRuleDecVal815 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDecVal822 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__Group__0_in_ruleDecVal848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHexVal_in_entryRuleHexVal875 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleHexVal882 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__Group__0_in_ruleHexVal908 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProseVal_in_entryRuleProseVal935 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleProseVal942 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ProseVal__Group__0_in_ruleProseVal968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRepeat_in_entryRuleRepeat995 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRepeat1002 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Repeat__Group__0_in_ruleRepeat1028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGroup_in_rule__Element__Alternatives1064 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOption_in_rule__Element__Alternatives1081 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRuleRef_in_rule__Element__Alternatives1098 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCharVal_in_rule__Element__Alternatives1115 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNumVal_in_rule__Element__Alternatives1132 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProseVal_in_rule__Element__Alternatives1149 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBinVal_in_rule__NumVal__Alternatives1181 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDecVal_in_rule__NumVal__Alternatives1198 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHexVal_in_rule__NumVal__Alternatives1215 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__Group_2_0__0_in_rule__BinVal__Alternatives_21249 = new BitSet(new long[]{0x0000000000080002L});
    public static final BitSet FOLLOW_rule__BinVal__Group_2_0__0_in_rule__BinVal__Alternatives_21261 = new BitSet(new long[]{0x0000000000080002L});
    public static final BitSet FOLLOW_rule__BinVal__Group_2_1__0_in_rule__BinVal__Alternatives_21282 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__Group_2_0__0_in_rule__DecVal__Alternatives_21317 = new BitSet(new long[]{0x0000000000080002L});
    public static final BitSet FOLLOW_rule__DecVal__Group_2_0__0_in_rule__DecVal__Alternatives_21329 = new BitSet(new long[]{0x0000000000080002L});
    public static final BitSet FOLLOW_rule__DecVal__Group_2_1__0_in_rule__DecVal__Alternatives_21350 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NUM_in_rule__HexVal__ValueAlternatives_1_01383 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_HEX_in_rule__HexVal__ValueAlternatives_1_01400 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__Group_2_0__0_in_rule__HexVal__Alternatives_21434 = new BitSet(new long[]{0x0000000000080002L});
    public static final BitSet FOLLOW_rule__HexVal__Group_2_0__0_in_rule__HexVal__Alternatives_21446 = new BitSet(new long[]{0x0000000000080002L});
    public static final BitSet FOLLOW_rule__HexVal__Group_2_1__0_in_rule__HexVal__Alternatives_21467 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NUM_in_rule__HexVal__ValueAlternatives_2_0_1_01500 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_HEX_in_rule__HexVal__ValueAlternatives_2_0_1_01517 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NUM_in_rule__HexVal__MaxValueAlternatives_2_1_1_01549 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_HEX_in_rule__HexVal__MaxValueAlternatives_2_1_1_01566 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__0__Impl_in_rule__Rule__Group__01596 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__01599 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__NameAssignment_0_in_rule__Rule__Group__0__Impl1626 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__1__Impl_in_rule__Rule__Group__11656 = new BitSet(new long[]{0x0000000002E540D0L});
    public static final BitSet FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__11659 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Rule__Group__1__Impl1687 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__Group__2__Impl_in_rule__Rule__Group__21718 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Rule__AlternationAssignment_2_in_rule__Rule__Group__2__Impl1745 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__Group__0__Impl_in_rule__Alternation__Group__01781 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__Alternation__Group__1_in_rule__Alternation__Group__01784 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__ConcatenationsAssignment_0_in_rule__Alternation__Group__0__Impl1811 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__Group__1__Impl_in_rule__Alternation__Group__11841 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__Group_1__0_in_rule__Alternation__Group__1__Impl1868 = new BitSet(new long[]{0x0000000000002002L});
    public static final BitSet FOLLOW_rule__Alternation__Group_1__0__Impl_in_rule__Alternation__Group_1__01903 = new BitSet(new long[]{0x0000000002E540D0L});
    public static final BitSet FOLLOW_rule__Alternation__Group_1__1_in_rule__Alternation__Group_1__01906 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Alternation__Group_1__0__Impl1934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__Group_1__1__Impl_in_rule__Alternation__Group_1__11965 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__ConcatenationsAssignment_1_1_in_rule__Alternation__Group_1__1__Impl1992 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Repetition__Group__0__Impl_in_rule__Repetition__Group__02026 = new BitSet(new long[]{0x0000000002E540D0L});
    public static final BitSet FOLLOW_rule__Repetition__Group__1_in_rule__Repetition__Group__02029 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Repetition__RepeatAssignment_0_in_rule__Repetition__Group__0__Impl2056 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Repetition__Group__1__Impl_in_rule__Repetition__Group__12087 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Repetition__ElementAssignment_1_in_rule__Repetition__Group__1__Impl2114 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Group__Group__0__Impl_in_rule__Group__Group__02148 = new BitSet(new long[]{0x0000000002E540D0L});
    public static final BitSet FOLLOW_rule__Group__Group__1_in_rule__Group__Group__02151 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Group__Group__0__Impl2179 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Group__Group__1__Impl_in_rule__Group__Group__12210 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Group__Group__2_in_rule__Group__Group__12213 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Group__AlternationAssignment_1_in_rule__Group__Group__1__Impl2240 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Group__Group__2__Impl_in_rule__Group__Group__22270 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Group__Group__2__Impl2298 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Option__Group__0__Impl_in_rule__Option__Group__02335 = new BitSet(new long[]{0x0000000002E540D0L});
    public static final BitSet FOLLOW_rule__Option__Group__1_in_rule__Option__Group__02338 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Option__Group__0__Impl2366 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Option__Group__1__Impl_in_rule__Option__Group__12397 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_rule__Option__Group__2_in_rule__Option__Group__12400 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Option__AlternationAssignment_1_in_rule__Option__Group__1__Impl2427 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Option__Group__2__Impl_in_rule__Option__Group__22457 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Option__Group__2__Impl2485 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__Group__0__Impl_in_rule__BinVal__Group__02522 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__BinVal__Group__1_in_rule__BinVal__Group__02525 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__BinVal__Group__0__Impl2553 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__Group__1__Impl_in_rule__BinVal__Group__12584 = new BitSet(new long[]{0x0000000000180000L});
    public static final BitSet FOLLOW_rule__BinVal__Group__2_in_rule__BinVal__Group__12587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__ValueAssignment_1_in_rule__BinVal__Group__1__Impl2614 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__Group__2__Impl_in_rule__BinVal__Group__22644 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__Alternatives_2_in_rule__BinVal__Group__2__Impl2671 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__Group_2_0__0__Impl_in_rule__BinVal__Group_2_0__02708 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__BinVal__Group_2_0__1_in_rule__BinVal__Group_2_0__02711 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__BinVal__Group_2_0__0__Impl2739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__Group_2_0__1__Impl_in_rule__BinVal__Group_2_0__12770 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__ValueAssignment_2_0_1_in_rule__BinVal__Group_2_0__1__Impl2797 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__Group_2_1__0__Impl_in_rule__BinVal__Group_2_1__02831 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__BinVal__Group_2_1__1_in_rule__BinVal__Group_2_1__02834 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__BinVal__Group_2_1__0__Impl2862 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__Group_2_1__1__Impl_in_rule__BinVal__Group_2_1__12893 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BinVal__MaxValueAssignment_2_1_1_in_rule__BinVal__Group_2_1__1__Impl2920 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__Group__0__Impl_in_rule__DecVal__Group__02954 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__DecVal__Group__1_in_rule__DecVal__Group__02957 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__DecVal__Group__0__Impl2985 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__Group__1__Impl_in_rule__DecVal__Group__13016 = new BitSet(new long[]{0x0000000000180000L});
    public static final BitSet FOLLOW_rule__DecVal__Group__2_in_rule__DecVal__Group__13019 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__ValueAssignment_1_in_rule__DecVal__Group__1__Impl3046 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__Group__2__Impl_in_rule__DecVal__Group__23076 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__Alternatives_2_in_rule__DecVal__Group__2__Impl3103 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__Group_2_0__0__Impl_in_rule__DecVal__Group_2_0__03140 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__DecVal__Group_2_0__1_in_rule__DecVal__Group_2_0__03143 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__DecVal__Group_2_0__0__Impl3171 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__Group_2_0__1__Impl_in_rule__DecVal__Group_2_0__13202 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__ValueAssignment_2_0_1_in_rule__DecVal__Group_2_0__1__Impl3229 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__Group_2_1__0__Impl_in_rule__DecVal__Group_2_1__03263 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__DecVal__Group_2_1__1_in_rule__DecVal__Group_2_1__03266 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__DecVal__Group_2_1__0__Impl3294 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__Group_2_1__1__Impl_in_rule__DecVal__Group_2_1__13325 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DecVal__MaxValueAssignment_2_1_1_in_rule__DecVal__Group_2_1__1__Impl3352 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__Group__0__Impl_in_rule__HexVal__Group__03386 = new BitSet(new long[]{0x0000000000000030L});
    public static final BitSet FOLLOW_rule__HexVal__Group__1_in_rule__HexVal__Group__03389 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__HexVal__Group__0__Impl3417 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__Group__1__Impl_in_rule__HexVal__Group__13448 = new BitSet(new long[]{0x0000000000180000L});
    public static final BitSet FOLLOW_rule__HexVal__Group__2_in_rule__HexVal__Group__13451 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__ValueAssignment_1_in_rule__HexVal__Group__1__Impl3478 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__Group__2__Impl_in_rule__HexVal__Group__23508 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__Alternatives_2_in_rule__HexVal__Group__2__Impl3535 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__Group_2_0__0__Impl_in_rule__HexVal__Group_2_0__03572 = new BitSet(new long[]{0x0000000000000030L});
    public static final BitSet FOLLOW_rule__HexVal__Group_2_0__1_in_rule__HexVal__Group_2_0__03575 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__HexVal__Group_2_0__0__Impl3603 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__Group_2_0__1__Impl_in_rule__HexVal__Group_2_0__13634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__ValueAssignment_2_0_1_in_rule__HexVal__Group_2_0__1__Impl3661 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__Group_2_1__0__Impl_in_rule__HexVal__Group_2_1__03695 = new BitSet(new long[]{0x0000000000000030L});
    public static final BitSet FOLLOW_rule__HexVal__Group_2_1__1_in_rule__HexVal__Group_2_1__03698 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__HexVal__Group_2_1__0__Impl3726 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__Group_2_1__1__Impl_in_rule__HexVal__Group_2_1__13757 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__MaxValueAssignment_2_1_1_in_rule__HexVal__Group_2_1__1__Impl3784 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ProseVal__Group__0__Impl_in_rule__ProseVal__Group__03818 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__ProseVal__Group__1_in_rule__ProseVal__Group__03821 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__ProseVal__Group__0__Impl3849 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ProseVal__Group__1__Impl_in_rule__ProseVal__Group__13880 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__ProseVal__Group__2_in_rule__ProseVal__Group__13883 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ProseVal__ValueAssignment_1_in_rule__ProseVal__Group__1__Impl3910 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ProseVal__Group__2__Impl_in_rule__ProseVal__Group__23940 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__ProseVal__Group__2__Impl3968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Repeat__Group__0__Impl_in_rule__Repeat__Group__04005 = new BitSet(new long[]{0x0000000002000010L});
    public static final BitSet FOLLOW_rule__Repeat__Group__1_in_rule__Repeat__Group__04008 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Repeat__Group__1__Impl_in_rule__Repeat__Group__14066 = new BitSet(new long[]{0x0000000002000010L});
    public static final BitSet FOLLOW_rule__Repeat__Group__2_in_rule__Repeat__Group__14069 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Repeat__LowerBoundAssignment_1_in_rule__Repeat__Group__1__Impl4096 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Repeat__Group__2__Impl_in_rule__Repeat__Group__24127 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Repeat__Group__3_in_rule__Repeat__Group__24130 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__Repeat__Group__2__Impl4158 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Repeat__Group__3__Impl_in_rule__Repeat__Group__34189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Repeat__UpperBoundAssignment_3_in_rule__Repeat__Group__3__Impl4216 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRule_in_rule__RuleSet__RulesAssignment4260 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Rule__NameAssignment_04291 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAlternation_in_rule__Rule__AlternationAssignment_24322 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenation_in_rule__Alternation__ConcatenationsAssignment_04353 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConcatenation_in_rule__Alternation__ConcatenationsAssignment_1_14384 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRepetition_in_rule__Concatenation__RepetitionsAssignment4415 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRepeat_in_rule__Repetition__RepeatAssignment_04446 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleElement_in_rule__Repetition__ElementAssignment_14477 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__RuleRef__RuleAssignment4512 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAlternation_in_rule__Group__AlternationAssignment_14547 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAlternation_in_rule__Option__AlternationAssignment_14578 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__CharVal__ValueAssignment4609 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NUM_in_rule__BinVal__ValueAssignment_14640 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NUM_in_rule__BinVal__ValueAssignment_2_0_14671 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NUM_in_rule__BinVal__MaxValueAssignment_2_1_14702 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NUM_in_rule__DecVal__ValueAssignment_14733 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NUM_in_rule__DecVal__ValueAssignment_2_0_14764 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NUM_in_rule__DecVal__MaxValueAssignment_2_1_14795 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__ValueAlternatives_1_0_in_rule__HexVal__ValueAssignment_14826 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__ValueAlternatives_2_0_1_0_in_rule__HexVal__ValueAssignment_2_0_14859 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HexVal__MaxValueAlternatives_2_1_1_0_in_rule__HexVal__MaxValueAssignment_2_1_14892 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__ProseVal__ValueAssignment_14925 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NUM_in_rule__Repeat__LowerBoundAssignment_14956 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_NUM_in_rule__Repeat__UpperBoundAssignment_34987 = new BitSet(new long[]{0x0000000000000002L});

}